[Bugs] [Bug 1190108] RFE: Quota for inode count

bugzilla at redhat.com bugzilla at redhat.com
Thu Mar 19 01:24:17 UTC 2015


https://bugzilla.redhat.com/show_bug.cgi?id=1190108



--- Comment #31 from Anand Avati <aavati at redhat.com> ---
COMMIT: http://review.gluster.org/9769 committed in master by Vijay Bellur
(vbellur at redhat.com) 
------
commit 3e18f093974c85ac92a4c48f0cd13aa9ff9c5cac
Author: vmallika <vmallika at redhat.com>
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 at snapshot-28 dir]# ls
    a  b  file11  file12  file13  file14  file15  file16  file17
    [root at 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 at redhat.com>
    Signed-off-by: vmallika <vmallika at redhat.com>
    Reviewed-on: http://review.gluster.org/9769
    Tested-by: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Vijay Bellur <vbellur at redhat.com>

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=JNDjOJMnwt&a=cc_unsubscribe


More information about the Bugs mailing list