linux-fsdevel.vger.kernel.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).