Red Hat Bugzilla – Bug 857874
With acl enabled in glusterfs, quota limits are not enforced
Last modified: 2013-07-24 13:16:51 EDT
Description of problem:
Following is a copy of a mail sent to gluster-users:
> I found this only happens when I mount the volume with the "acl"
> Otherwise, I don't get the "no limit-set option provided" message,
> things works fine. Not even needing the remount the volume to see
> changes to quota.
> On 09/10/2012 07:15 PM, XXXXX wrote:
> > I found these in the client log:
> > [2012-09-10 18:56:07.728206] I [glusterfsd-mgmt.c:64:mgmt_cbk_spec]
> > 0-mgmt: Volume file changed
> > [2012-09-10 18:56:08.751162] D
> > [glusterfsd-mgmt.c:1441:is_graph_topology_equal] 0-glusterfsd-mgmt:
> > graphs are equal
> > [2012-09-10 18:56:08.751175] D
> > [glusterfsd-mgmt.c:1495:glusterfs_volfile_reconfigure]
> > 0-glusterfsd-mgmt: Only options have changed in the new graph
> > [2012-09-10 18:56:08.751192] D
> > [options.c:925:xlator_reconfigure_rec]
> > 0-ana03-dht: reconfigured
> > [2012-09-10 18:56:08.751200] I [quota.c:3085:quota_parse_limits]
> > 0-ana03-quota: no "limit-set" option provided
> > ...
> > XXXXX
> > On 09/10/2012 03:01 PM, Ling Ho wrote:
> >> I am trying to use directory quota in our environment and face two
> >> problems:
> >> 1. When new quota is set on a directory, it doesn't take effect
> >> until
> >> the volume is remounted on the client. This is a major
> >> inconvenience.
> >> 2. If I add a new quota, quota stops working on the client.
> >> This is how to reproduce problem #2.
> >> I have these directories under my volume ana03:
> >> XXXX
> >> ling/testdir
> >> # gluster volume quota ana03 limit-usage /ling 20GB
> >> I could write into the directory /ling till it is over 20GB and
> >> it
> >> gives me a Disk quota exceeded error.
> >> However, if I then set quota for "ling/testdir", without remonting
> >> the
> >> volume on the client
> >> # gluster volume quota ana03 limit-usage /ling/testdir 2GB
> >> Not only I can write more than 2GB under "ling/testdir", I could
> >> now
> >> write more than 20GB under "ling".
> >> Remounting the volume on the client fixes everything.
Version-Release number of selected component (if applicable):
glusterfs-3.3.0-1 on both the client and server. The server is running RHEL6.3, and client running RHEL5.8.
Steps to Reproduce:
With acl enabled, a posix-acl translator is loaded on top of the client graph. This translator is added through command line and the volfile received from server does not contain it. Hence new graph constructed after changes, does not contain this translator. However, reconfigure code is oblivious to this fact and calls reconfigure recursively on oldgraph->first and newgraph->first. Due, to this the pair of xlators passed to reconfigure are not of same translator type. Hence each translator receives wrong options to reconfigure from.
patch http://review.gluster.org/3949 fixes the issue