+++ 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