All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/35] Add quota supporting in ubifs
@ 2015-07-30  5:47 Dongsheng Yang
  2015-07-30  5:47 ` [PATCH v2 01/35] fs: introduce a ->s_cdev field into struct super_block Dongsheng Yang
                   ` (34 more replies)
  0 siblings, 35 replies; 84+ messages in thread
From: Dongsheng Yang @ 2015-07-30  5:47 UTC (permalink / raw)
  To: viro, jack, dedekind1, richard.weinberger
  Cc: linux-mtd, linux-fsdevel, Dongsheng Yang

Hi all,
	This is the V2 for adding quota in ubifs.

Changelog:
	v1->v2:
		- remove the duplication in block_dev and char_dev
		- rename read_block to ubifs_read_block
		- drop patch for ui->budgeted
		- budget in ubifs_dirty_inode() if necessary

TEST:
	With a patchset [xfstests: Introduce ubifs to xfstests],
we can run xfstests for ubifs. And the result is shown below:

 # ./check -ubifs
FSTYP         -- ubifs
PLATFORM      -- Linux/x86_64 atest-guest 4.1.0+
MKFS_OPTIONS  -- /dev/ubi0_1
MOUNT_OPTIONS -- -o context=system_u:object_r:nfs_t:s0 /dev/ubi0_1 /mnt/scratch

generic/001 7s ... 7s
generic/002 1s ... 1s

[...]

Passed all 70 tests

 # ./check -ubifs -g quota
FSTYP         -- ubifs
PLATFORM      -- Linux/x86_64 atest-guest 4.1.0+
MKFS_OPTIONS  -- /dev/ubi0_1
MOUNT_OPTIONS -- -o context=system_u:object_r:nfs_t:s0 /dev/ubi0_1 /mnt/scratch

generic/055	 [not run] ubifs does not support shutdown
generic/082 1s ... 0s
generic/219 23s ... [not run] O_DIRECT is not supported
generic/230 13s ... 13s
generic/231 51s ... 50s
generic/232 3s ... 3s
generic/233 4s ... 5s
generic/234 10s ... 9s
generic/235 1s ... 1s
generic/270	 [not run] Filesystem ubifs not supported in _scratch_mkfs_sized
generic/280	 [not run] ubifs does not support freezing
Ran: generic/082 generic/230 generic/231 generic/232 generic/233 generic/234 generic/235
Not run: generic/055 generic/219 generic/270 generic/280
Passed all 7 tests

You can get the code by:
ubifs:  https://github.com/yangdongsheng/linux.git ubifs_quota_v2
xfstests: https://github.com/yangdongsheng/xfstests.git ubifs_v1

NOTE: the branch of ubifs_quota_v2 contains one patch about atime and one patch about get/setxattr.
These patches can make xfstests all pass and there would be some conflict between them and quota
patchset. So I keep them in this branch.

NOTE2: I found Jan has post his patch about "quota: Propagate errors when creating quota entry",
if that went to mainline, I will send a patch to catch the ret-value of dquot_initialize() in ubifs.

Any test or review is welcom :)

Thanx
Yang

Dongsheng Yang (35):
  fs: introduce a ->s_cdev field into struct super_block
  fs: cleanup: remove the blank line before EXPORT_SYMBOL
  fs: super: cleanup: make the comment of each function aligned
  fs: super: consolidate the get_super class functions
  fs: super: introduce a get_super_cdev to get super by a cdev reference
  fs: super: introduce a get_super_cdev_thawed to get sb by cdev
    reference
  fs: char_dev: introduce cd_acquire function to acquire cdev
  fs: introduce a __lookup_dev for internal using
  fs: char_dev: introduce lookup_cdev to get cdev by pathname
  fs: dquot: skip invalidate_bdev if bdev is NULL
  fs: quota: make quota support fs which is running on char dev
  ubi: introduce a interface to get cdev in ubi_volume
  ubifs: fix a typo in comment of ubifs_budget_req
  ubifs: extend budget for blocks
  ubifs: fill sb->s_cdev in ubifs_fill_super()
  ubifs: fill ->s_dev in ubifs_fill_super
  ubifs: export read_block() from file.c
  ubifs: introduce quota related mount options
  ubifs: budget for inode in ubifs_dirty_inode if necessary
  ubifs: implement IO functions for quota files
  ubifs: disable quota in ubifs_put_super
  ubifs: write quota back in ubifs_sync
  ubifs: set/clear MS_RDONLY properly in ubifs_remount
  ubifs: suspend & resume quota properly in ubifs_remount
  ubifs: record quota information about inode in ubifs_new_inode
  ubifs: free quota inode information in ubifs_evict_inode
  ubifs: alloc quota space in ubifs_write_begin
  ubifs: free quota space in do_truncation
  ubifs: free quota space when deleting a file
  ubifs: adapt quota space informatin in do_setattr
  ubifs: transfer quota information in changing owner or group
  ubifs: write inode in ubifs_quota_write if we are appending
  fs: introduce a get_qsize() to file_operations
  ubifs: implement ubifs_get_qsize to get quota size in ubifs
  ubifs: make ubifs to support quota

 drivers/mtd/ubi/kapi.c  |   6 +
 fs/Makefile             |   2 +-
 fs/block_dev.c          |  26 +---
 fs/char_dev.c           |  48 ++++++++
 fs/dev.c                |  77 ++++++++++++
 fs/internal.h           |  14 +++
 fs/ioctl.c              |  31 +++--
 fs/quota/dquot.c        |   3 +-
 fs/quota/quota.c        |  30 +++--
 fs/super.c              | 284 +++++++++++++++++++++++--------------------
 fs/ubifs/budget.c       |   4 +
 fs/ubifs/debug.c        |   2 +
 fs/ubifs/dir.c          |  24 +++-
 fs/ubifs/file.c         |  78 +++++++++++-
 fs/ubifs/journal.c      |   6 +
 fs/ubifs/super.c        | 317 +++++++++++++++++++++++++++++++++++++++++++++++-
 fs/ubifs/ubifs.h        |  19 ++-
 include/linux/fs.h      |   6 +
 include/linux/mtd/ubi.h |   1 +
 19 files changed, 792 insertions(+), 186 deletions(-)
 create mode 100644 fs/dev.c

-- 
1.8.4.2

^ permalink raw reply	[flat|nested] 84+ messages in thread

end of thread, other threads:[~2015-08-27  2:58 UTC | newest]

Thread overview: 84+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-30  5:47 [PATCH v2 00/35] Add quota supporting in ubifs Dongsheng Yang
2015-07-30  5:47 ` [PATCH v2 01/35] fs: introduce a ->s_cdev field into struct super_block Dongsheng Yang
2015-07-30  5:47 ` [PATCH v2 02/35] fs: cleanup: remove the blank line before EXPORT_SYMBOL Dongsheng Yang
2015-07-30  5:47 ` [PATCH v2 03/35] fs: super: cleanup: make the comment of each function aligned Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 04/35] fs: super: consolidate the get_super class functions Dongsheng Yang
2015-08-03 19:50   ` Jan Kara
2015-07-30  5:48 ` [PATCH v2 05/35] fs: super: introduce a get_super_cdev to get super by a cdev reference Dongsheng Yang
2015-08-03 19:51   ` Jan Kara
2015-07-30  5:48 ` [PATCH v2 06/35] fs: super: introduce a get_super_cdev_thawed to get sb by " Dongsheng Yang
2015-08-03 19:56   ` Jan Kara
2015-07-30  5:48 ` [PATCH v2 07/35] fs: char_dev: introduce cd_acquire function to acquire cdev Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 08/35] fs: introduce a __lookup_dev for internal using Dongsheng Yang
2015-08-03 20:08   ` Jan Kara
2015-08-03 20:13     ` Jan Kara
2015-07-30  5:48 ` [PATCH v2 09/35] fs: char_dev: introduce lookup_cdev to get cdev by pathname Dongsheng Yang
2015-08-03 20:08   ` Jan Kara
2015-07-30  5:48 ` [PATCH v2 10/35] fs: dquot: skip invalidate_bdev if bdev is NULL Dongsheng Yang
2015-08-03 20:04   ` Jan Kara
2015-07-30  5:48 ` [PATCH v2 11/35] fs: quota: make quota support fs which is running on char dev Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 12/35] ubi: introduce a interface to get cdev in ubi_volume Dongsheng Yang
2015-08-03 20:56   ` Richard Weinberger
2015-07-30  5:48 ` [PATCH v2 13/35] ubifs: fix a typo in comment of ubifs_budget_req Dongsheng Yang
2015-08-03 20:56   ` Richard Weinberger
2015-08-10  8:21   ` Artem Bityutskiy
2015-07-30  5:48 ` [PATCH v2 14/35] ubifs: extend budget for blocks Dongsheng Yang
2015-08-03 20:56   ` Richard Weinberger
2015-08-21  5:59     ` Dongsheng Yang
2015-08-21  7:12       ` Richard Weinberger
2015-08-21  7:55         ` Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 15/35] ubifs: fill sb->s_cdev in ubifs_fill_super() Dongsheng Yang
2015-08-03 20:58   ` Richard Weinberger
2015-07-30  5:48 ` [PATCH v2 16/35] ubifs: fill ->s_dev in ubifs_fill_super Dongsheng Yang
2015-08-03 21:00   ` Richard Weinberger
2015-07-30  5:48 ` [PATCH v2 17/35] ubifs: export read_block() from file.c Dongsheng Yang
2015-08-03 21:13   ` Richard Weinberger
2015-08-03 21:29     ` Richard Weinberger
2015-08-07  3:15       ` Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 18/35] ubifs: introduce quota related mount options Dongsheng Yang
2015-08-03 21:13   ` Richard Weinberger
2015-08-07  3:17     ` Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 19/35] ubifs: budget for inode in ubifs_dirty_inode if necessary Dongsheng Yang
2015-08-03 21:13   ` Richard Weinberger
2015-08-07  3:18     ` Dongsheng Yang
2015-08-05  8:11   ` Artem Bityutskiy
2015-08-06  6:46     ` Dongsheng Yang
2015-08-06  7:26       ` Artem Bityutskiy
2015-08-06  7:30         ` Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 20/35] ubifs: implement IO functions for quota files Dongsheng Yang
2015-08-03 21:46   ` Richard Weinberger
2015-08-05  1:21     ` Dongsheng Yang
2015-08-07  3:24     ` Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 21/35] ubifs: disable quota in ubifs_put_super Dongsheng Yang
2015-08-08 21:08   ` Richard Weinberger
2015-08-10  2:03     ` Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 22/35] ubifs: write quota back in ubifs_sync Dongsheng Yang
2015-08-08 21:17   ` Richard Weinberger
2015-07-30  5:48 ` [PATCH v2 23/35] ubifs: set/clear MS_RDONLY properly in ubifs_remount Dongsheng Yang
2015-08-08 21:17   ` Richard Weinberger
2015-08-10  2:46     ` Dongsheng Yang
2015-08-24  1:29       ` Dongsheng Yang
2015-08-24  7:02         ` Artem Bityutskiy
2015-08-24  7:12           ` Dongsheng Yang
2015-08-24  7:26             ` Artem Bityutskiy
2015-08-27  2:52               ` Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 24/35] ubifs: suspend & resume quota " Dongsheng Yang
2015-08-08 21:24   ` Richard Weinberger
2015-08-10  2:04     ` Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 25/35] ubifs: record quota information about inode in ubifs_new_inode Dongsheng Yang
2015-08-08 21:43   ` Richard Weinberger
2015-08-10  2:13     ` Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 26/35] ubifs: free quota inode information in ubifs_evict_inode Dongsheng Yang
2015-08-08 21:51   ` Richard Weinberger
2015-08-10  3:09     ` Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 27/35] ubifs: alloc quota space in ubifs_write_begin Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 28/35] ubifs: free quota space in do_truncation Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 29/35] ubifs: free quota space when deleting a file Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 30/35] ubifs: adapt quota space informatin in do_setattr Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 31/35] ubifs: transfer quota information in changing owner or group Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 32/35] ubifs: write inode in ubifs_quota_write if we are appending Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 33/35] fs: introduce a get_qsize() to file_operations Dongsheng Yang
2015-08-03 20:15   ` Jan Kara
2015-08-07  3:30     ` Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 34/35] ubifs: implement ubifs_get_qsize to get quota size in ubifs Dongsheng Yang
2015-07-30  5:48 ` [PATCH v2 35/35] ubifs: make ubifs to support quota Dongsheng Yang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.