[Gluster-devel] Quota problems with dispersed volumes

Raghavendra Gowdappa rgowdapp at redhat.com
Wed Oct 29 15:03:28 UTC 2014


>From quota perspective I don't see any other xattrs related to quota. You've listed them all :).

----- Original Message -----
> From: "Raghavendra Gowdappa" <rgowdapp at redhat.com>
> To: "Xavier Hernandez" <xhernandez at datalab.es>
> Cc: "Gluster Devel" <gluster-devel at gluster.org>
> Sent: Wednesday, October 29, 2014 8:30:33 PM
> Subject: Re: [Gluster-devel] Quota problems with dispersed volumes
> 
> 
> 
> ----- Original Message -----
> > From: "Xavier Hernandez" <xhernandez at datalab.es>
> > To: "Raghavendra Gowdappa" <rgowdapp at redhat.com>
> > Cc: "Gluster Devel" <gluster-devel at gluster.org>
> > Sent: Wednesday, October 29, 2014 6:24:55 PM
> > Subject: Re: [Gluster-devel] Quota problems with dispersed volumes
> > 
> > On 10/28/2014 02:05 PM, Xavier Hernandez wrote:
> > > On 10/28/2014 04:30 AM, Raghavendra Gowdappa wrote:
> > >>
> > >> We use extended attribute with key "trusted.glusterfs.quota.size" to
> > >> get the size of a directory/file. The value for this key is probed in
> > >> lookup and getxattr calls. You can implement logic to handle this key
> > >> appropriately in disperse xlator to give a proper size to higher
> > >> layers. In your existing implementation you might have been probably
> > >> passing xattrs from one of the bricks and hence seeing size from only
> > >> one brick.
> > >
> > > I think this patch fixes the problem:
> > >
> > >      http://review.gluster.org/8990
> > >
> > 
> > It seems that there are some other xattrs visible from client side. I've
> > identified 'trusted.glusterfs.quota.*.contri'. Are there any other
> > xattrs that I should handle on the client side ?
> 
> this is an internal xattr which only marker (disk usage accounting xlator)
> uses. The applications running on glusterfs shouldn't be seeing this. If you
> are seeing this xattr from mount, we should filter this xattr from being
> listed (at fuse-bridge and gfapi).
> 
> > 
> > It seems that there's also a 'trusted.glusterfs.quota.dirty'
> 
> This is again an internal xattr. You should not worry about handling this.
> This also needs to be filtered from being displayed to application.
> 
> > and
> > 'trusted.glusterfs.quota.limit-set'.
> 
> This should be visible from mount point, as this xattr holds the value of
> quota limit set on that inode. You can handle this in disperse xlator by
> picking the value from any of its children.
> 
> > 
> > How I should handle visible xattrs in ec xlator if they have different
> > values in each brick ?
> > 
> > trusted.glusterfs.quota.size is handled by choosing the maximum value.
> 
> This depends on how ec is handling the files/directories and the meaning of
> xattr. For eg., trusted.glusterfs.quota.size represents the size of the
> file/directory. When read from brick, the value will be the size of
> directory on that brick. When read from a cluster translator like dht, it
> will be the size of that directory across the whole cluster. So, in dht we
> add up the values from all bricks and set the sum as the value. However, in
> case of replicate/afr, we just pick the value from any of the subvolume.
> 
> > 
> > Thanks,
> > 
> > Xavi
> > 
> 


More information about the Gluster-devel mailing list