linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 00/25] Add quota supporting in ubifs
@ 2015-07-21  8:37 Dongsheng Yang
  2015-07-21  8:37 ` [PATCH 01/25] fs: introduce a ->s_cdev field into struct super_block Dongsheng Yang
                   ` (29 more replies)
  0 siblings, 30 replies; 47+ messages in thread
From: Dongsheng Yang @ 2015-07-21  8:37 UTC (permalink / raw)
  To: dedekind1, richard.weinberger, jack
  Cc: linux-fsdevel, linux-mtd, Dongsheng Yang

Hi Atem, Richard and others,
	This is a patchset to add quota supporting in ubifs.
[1/25] - [7/25] are working to make quotactl to support filesystems
which are running on char device.

Others are about making ubifs to support quota
Please help to review or test it. Any comment is welcome :).

Hi Jan Kara,
	I am not sure I am using the quota APIs correctly, please
help to correct me if I am wrong.

Also you can get the code from:
https://github.com/yangdongsheng/linux.git  ubifs_quota_v1

	My simple testing is shown as below:
[root@atest-guest linux_compile]# mount -t ubifs -o usrquota,grpquota /dev/ubi0_0 /mnt/ubifs/
[root@atest-guest linux_compile]# quotacheck -ug /mnt/ubifs
[root@atest-guest linux_compile]# quotaon /mnt/ubifs
[root@atest-guest linux_compile]# repquota /mnt/ubifs
*** Report for user quotas on device /dev/ubi0_0
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --       0       0       0              1     0     0 
[root@atest-guest linux_compile]# setquota root 10 10 3 3 /mnt/ubifs
[root@atest-guest linux_compile]# repquota /mnt/ubifs
*** Report for user quotas on device /dev/ubi0_0
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --       0      10      10              1     3     3 
[root@atest-guest linux_compile]# touch /mnt/ubifs/{1,11,111}
ubifs: warning, user file quota exceeded.
[root@atest-guest linux_compile]# repquota /mnt/ubifs
*** Report for user quotas on device /dev/ubi0_0
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      -+       0      10      10              4     3     3  7days
[root@atest-guest linux_compile]# rm -rf /mnt/ubifs/1*
[root@atest-guest linux_compile]# repquota /mnt/ubifs
*** Report for user quotas on device /dev/ubi0_0
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --       0      10      10              1     3     3    
[root@atest-guest linux_compile]# dd if=/dev/urandom of=/mnt/ubifs/data bs=1K count=11
ubifs: warning, user block quota exceeded.
11+0 records in
11+0 records out
11264 bytes (11 kB) copied, 0.216498 s, 52.0 kB/s
[root@atest-guest linux_compile]# repquota /mnt/ubifs
*** Report for user quotas on device /dev/ubi0_0
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      +-      11      10      10  7days       2     3     3   
[root@atest-guest linux_compile]# rm -rf /mnt/ubifs/data 
[root@atest-guest linux_compile]# repquota /mnt/ubifs
*** Report for user quotas on device /dev/ubi0_0
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --       0      10      10              1     3     3     


Dongsheng Yang (25):
  fs: introduce a ->s_cdev field into struct super_block
  ubi: introduce a interface to get cdev in ubi_volume
  ubifs: fill sb->s_cdev in ubifs_fill_super()
  fs: super: introduce the functions to get super by cdev reference
  fs: char_dev: introduce lookup_cdev function to find cdev by name
  fs: dquot: skip invalidate_bdev if bdev is NULL
  fs: quota: make quota support fs which is running on char dev
  ubifs: fix a typo in comment of ubifs_budget_req
  ubifs: extend budget for blocks
  ubifs: fill ->s_dev in ubifs_fill_super
  ubifs: export read_block() from file.c
  ubifs: introduce quota related mount options
  ubifs: introduce a field named as budgeted to ubifs_inode
  ubifs: implement IO functions for quota files
  ubifs: disable quota in ubifs_put_super
  ubifs: write quota back in ubifs_sync
  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 and unlink
  ubifs: adapt quota space informatin in do_setattr
  ubifs: transfer quota information in changing owner or group
  ubifs: implement ubifs_qctl_operations for quotactl
  ubifs: make ubifs to support quota

 drivers/mtd/ubi/kapi.c  |   6 +
 fs/char_dev.c           |  72 ++++++++++
 fs/quota/dquot.c        |   3 +-
 fs/quota/quota.c        |  30 +++--
 fs/super.c              |  45 +++++++
 fs/ubifs/budget.c       |   4 +
 fs/ubifs/debug.c        |   2 +
 fs/ubifs/dir.c          |  24 +++-
 fs/ubifs/file.c         |  56 +++++++-
 fs/ubifs/ioctl.c        |   1 +
 fs/ubifs/super.c        | 352 +++++++++++++++++++++++++++++++++++++++++++++++-
 fs/ubifs/ubifs.h        |  19 ++-
 include/linux/fs.h      |   5 +
 include/linux/mtd/ubi.h |   1 +
 14 files changed, 597 insertions(+), 23 deletions(-)

-- 
1.8.4.2


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

end of thread, other threads:[~2015-07-22 14:13 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-21  8:37 [RFC PATCH 00/25] Add quota supporting in ubifs Dongsheng Yang
2015-07-21  8:37 ` [PATCH 01/25] fs: introduce a ->s_cdev field into struct super_block Dongsheng Yang
2015-07-21  8:37 ` [PATCH 02/25] ubi: introduce a interface to get cdev in ubi_volume Dongsheng Yang
2015-07-21  8:37 ` [PATCH 03/25] ubifs: fill sb->s_cdev in ubifs_fill_super() Dongsheng Yang
2015-07-21  8:37 ` [PATCH 04/25] fs: super: introduce the functions to get super by cdev reference Dongsheng Yang
2015-07-21  9:04   ` Jan Kara
2015-07-22  0:37     ` Dongsheng Yang
2015-07-21  8:37 ` [PATCH 05/25] fs: char_dev: introduce lookup_cdev function to find cdev by name Dongsheng Yang
2015-07-21  9:20   ` Jan Kara
2015-07-21  8:37 ` [PATCH 06/25] fs: dquot: skip invalidate_bdev if bdev is NULL Dongsheng Yang
2015-07-21  8:37 ` [PATCH 07/25] fs: quota: make quota support fs which is running on char dev Dongsheng Yang
2015-07-21  8:37 ` [PATCH 08/25] ubifs: fix a typo in comment of ubifs_budget_req Dongsheng Yang
2015-07-21  8:37 ` [PATCH 09/25] ubifs: extend budget for blocks Dongsheng Yang
2015-07-21  8:37 ` [PATCH 10/25] ubifs: fill ->s_dev in ubifs_fill_super Dongsheng Yang
2015-07-21  8:37 ` [PATCH 11/25] ubifs: export read_block() from file.c Dongsheng Yang
2015-07-21 20:36   ` Richard Weinberger
2015-07-22  0:41     ` Dongsheng Yang
2015-07-21  8:37 ` [PATCH 12/25] ubifs: introduce quota related mount options Dongsheng Yang
2015-07-21 20:39   ` Richard Weinberger
2015-07-22  0:41     ` Dongsheng Yang
2015-07-21  8:37 ` [PATCH 13/25] ubifs: introduce a field named as budgeted to ubifs_inode Dongsheng Yang
2015-07-21 20:47   ` Richard Weinberger
2015-07-22  0:56     ` Dongsheng Yang
2015-07-22  6:22       ` Dongsheng Yang
2015-07-21  8:37 ` [PATCH 14/25] ubifs: implement IO functions for quota files Dongsheng Yang
2015-07-21  8:37 ` [PATCH 15/25] ubifs: disable quota in ubifs_put_super Dongsheng Yang
2015-07-21  8:37 ` [PATCH 16/25] ubifs: write quota back in ubifs_sync Dongsheng Yang
2015-07-21  8:37 ` [PATCH 17/25] ubifs: suspend & resume quota properly in ubifs_remount Dongsheng Yang
2015-07-21  8:37 ` [PATCH 18/25] ubifs: record quota information about inode in ubifs_new_inode Dongsheng Yang
2015-07-21  8:37 ` [PATCH 19/25] ubifs: free quota inode information in ubifs_evict_inode Dongsheng Yang
2015-07-21  8:37 ` [PATCH 20/25] ubifs: alloc quota space in ubifs_write_begin Dongsheng Yang
2015-07-21  8:37 ` [PATCH 21/25] ubifs: free quota space in do_truncation and unlink Dongsheng Yang
2015-07-21  8:37 ` [PATCH 22/25] ubifs: adapt quota space informatin in do_setattr Dongsheng Yang
2015-07-21  8:37 ` [PATCH 23/25] ubifs: transfer quota information in changing owner or group Dongsheng Yang
2015-07-21  8:37 ` [PATCH 24/25] ubifs: implement ubifs_qctl_operations for quotactl Dongsheng Yang
2015-07-21  8:37 ` [PATCH 25/25] ubifs: make ubifs to support quota Dongsheng Yang
2015-07-21  8:58 ` [RFC PATCH 00/25] Add quota supporting in ubifs Jan Kara
2015-07-22  0:56   ` Dongsheng Yang
2015-07-21 20:50 ` Richard Weinberger
2015-07-22  1:11   ` Dongsheng Yang
2015-07-21 21:01 ` Richard Weinberger
2015-07-22  0:58   ` Dongsheng Yang
2015-07-21 21:15 ` Richard Weinberger
2015-07-22  0:58   ` Dongsheng Yang
2015-07-22  6:58     ` Richard Weinberger
2015-07-22 11:23 ` Dongsheng Yang
2015-07-22 14:13   ` Jan Kara

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).