+++ This bug was initially created as a clone of Bug #1190108 +++ Implement a new feature for accounting inode objects and allow to limit number of inodes per directory. Here is the feature page: http://www.gluster.org/community/documentation/index.php/Features/Object_Count --- Additional comment from Anand Avati on 2015-02-25 09:07:21 EST --- REVIEW: http://review.gluster.org/9635 (cli/glusterd : Introducing inode quota.) posted (#3) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-02-26 01:47:49 EST --- REVIEW: http://review.gluster.org/9635 (features/quota : Introducing inode quota.) posted (#4) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-02-27 05:39:42 EST --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#1) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-01 02:47:17 EST --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#2) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-01 09:35:02 EST --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#3) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-02 07:58:44 EST --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#4) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-03 01:44:07 EST --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#5) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-03 05:55:42 EST --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#6) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-04 04:59:51 EST --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#7) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-04 09:52:08 EST --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#8) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-05 09:49:06 EST --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#9) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-05 09:51:52 EST --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#10) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-06 05:34:59 EST --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#11) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-09 07:27:01 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#12) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-09 10:50:36 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#13) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-09 15:23:16 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#14) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-11 02:07:27 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#15) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-11 05:39:31 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#16) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-12 13:01:11 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#17) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-13 00:31:38 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#18) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-13 06:08:41 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota.) posted (#19) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-13 06:15:45 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota) posted (#20) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-16 08:07:33 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota) posted (#21) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-16 08:34:59 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota) posted (#22) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-03-18 01:09:56 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota) posted (#23) for review on master by Vijaikumar Mallikarjuna (vmallika) --- Additional comment from Anand Avati on 2015-03-18 01:26:31 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota) posted (#24) for review on master by Vijaikumar Mallikarjuna (vmallika) --- Additional comment from Anand Avati on 2015-03-18 06:08:17 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota) posted (#25) for review on master by Vijaikumar Mallikarjuna (vmallika) --- Additional comment from Anand Avati on 2015-03-18 07:34:15 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota) posted (#26) for review on master by Vijaikumar Mallikarjuna (vmallika) --- Additional comment from Anand Avati on 2015-03-18 13:52:29 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota) posted (#27) for review on master by Vijaikumar Mallikarjuna (vmallika) --- Additional comment from Anand Avati on 2015-03-18 13:58:45 EDT --- REVIEW: http://review.gluster.org/9769 (features/quota : Introducing inode quota) posted (#28) for review on master by Vijaikumar Mallikarjuna (vmallika) --- Additional comment from Anand Avati on 2015-03-18 21:24:17 EDT --- COMMIT: http://review.gluster.org/9769 committed in master by Vijay Bellur (vbellur) ------ commit 3e18f093974c85ac92a4c48f0cd13aa9ff9c5cac Author: vmallika <vmallika> Date: Wed Mar 18 23:17:23 2015 +0530 features/quota : Introducing inode quota ========================================================================== Inode quota ========================================================================== = Currently, the only way to retrieve the number of files/objects in a = = directory or volume is to do a crawl of the entire directory/volume. = = This is expensive and is not scalable. = = = = The proposed mechanism will provide an easier alternative to determine = = the count of files/objects in a directory or volume. = = = = The new mechanism proposes to store count of objects/files as part of = = an extended attribute of a directory. Each directory's extended = = attribute value will indicate the number of files/objects present = = in a tree with the directory being considered as the root of the tree. = = = = The count value can be accessed by performing a getxattr(). = = Cluster translators like afr, dht and stripe will perform aggregation = = of count values from various bricks when getxattr() happens on the key = = associated with file/object count. = A new interface is introduced: ------------------------------ limit-objects : limit the number of inodes at directory level list-objects : list the directories where the limit is set remove-objects : remove the limit from the directory ========================================================================== CLI COMMAND: gluster volume quota <volname> limit-objects <path> <number> [<percent>] * <number> is a hard-limit for number of objects limitation for path "<path>" If hard-limit is exceeded, creation of file/directory is no longer permitted. * <percent> is a soft-limit for number of objects creation for path "<path>" If soft-limit is exceeded, a warning is issued for each creation. CLI COMMAND: gluster volume quota <volname> remove-objects [path] ========================================================================== CLI COMMAND: gluster volume quota <volname> list-objects [path] ... Sample output: ------------------ Path Hard-limit Soft-limit Used Available Soft-limit exceeded? Hard-limit exceeded? ------------------------------------------------------------------------ -------------------------------------- /dir 10 80% 10 0 Yes Yes ========================================================================== [root@snapshot-28 dir]# ls a b file11 file12 file13 file14 file15 file16 file17 [root@snapshot-28 dir]# touch a1 touch: cannot touch `a1': Disk quota exceeded * Nine files are created in directory "dir" and directory is included in * the count too. Hence the limit "10" is reached and further file creation fails ========================================================================== Note: We have also done some re-factoring in cli for volume name validation. New function cli_validate_volname is created ========================================================================== Change-Id: I1823497de4f790a2a20ebb1770293472ea33ee2b BUG: 1190108 Signed-off-by: Sachin Pandit <spandit> Signed-off-by: vmallika <vmallika> Reviewed-on: http://review.gluster.org/9769 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> --- Additional comment from Anand Avati on 2015-04-09 05:52:55 EDT --- REVIEW: http://review.gluster.org/10171 (admin/doc : Object count for quota) posted (#1) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-04-10 02:24:20 EDT --- REVIEW: http://review.gluster.org/10171 (admin/doc : Object count for quota) posted (#2) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-04-10 02:27:44 EDT --- REVIEW: http://review.gluster.org/10171 (admin/doc : Object count for quota) posted (#3) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-04-10 04:44:47 EDT --- REVIEW: http://review.gluster.org/10171 (admin/doc : Object count for quota) posted (#4) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-04-10 05:23:43 EDT --- REVIEW: http://review.gluster.org/10171 (admin/doc : Object count for quota) posted (#5) for review on master by Sachin Pandit (spandit) --- Additional comment from Anand Avati on 2015-04-14 00:18:13 EDT --- COMMIT: http://review.gluster.org/10171 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit d3b52c8283eb4c85018a5055a0dbe628b5bd2d29 Author: Sachin Pandit <spandit> Date: Tue Apr 7 11:39:29 2015 +0530 admin/doc : Object count for quota Change-Id: I271cca911f6dd1f481634063919a587843d93e50 BUG: 1190108 Signed-off-by: Sachin Pandit <spandit> Reviewed-on: http://review.gluster.org/10171 Reviewed-by: Vijaikumar Mallikarjuna <vmallika> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> --- Additional comment from Niels de Vos on 2015-05-14 13:26:27 EDT --- This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.7.0, please open a new bug report. glusterfs-3.7.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/10939 [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user --- Additional comment from Niels de Vos on 2015-05-14 13:28:21 EDT --- This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.7.0, please open a new bug report. glusterfs-3.7.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/10939 [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user --- Additional comment from Niels de Vos on 2015-05-14 13:35:15 EDT --- This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.7.0, please open a new bug report. glusterfs-3.7.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/10939 [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user
Tested different scenarios with inode quota, with enabling uss, bitroot. Bug verified on build glusterfs-3.8.4-10.el7rhgs.x86_64
Hi, As the bug was verified earlier, I'm closing this. -Hari.