[Gluster-devel] Improvements in Quota Translator

Varun Shastry vshastry at redhat.com
Tue Apr 9 13:39:04 UTC 2013

Hi Everyone,

As gluster quota was facing some issues in its functionality, its 
required to make it fool-proof, robust and reliable. So, below are the 
some of the major problems we are facing and the modifications to 
overcome the same.

Current implementation
* Client side implementation of quota
     - Not secure
     - Increased traffic in updating the ctx
     - Relying on xattrs updation through lookup calls
* Problem with NFS mount
     - lack of lookups (handling through 'file handles')

So, the new design is proposed,

* Two level of quota implementation soft and hard quota, similar to the 
XFS's quota, is introduced.
     A message is logged on reaching soft quota and no more writes 
allowed after hard limit.

* Quota is moved to server-side.
     Server side implementation removes the client dependability for 
specific calls and secures the quota from mounting with modified volfile.

     To get the cluster view,
     A trusted quota client process**will be spawned, on set of random 
'n' bricks, containing only the cluster xlators, to aggregate the size 
on all the bricks of the volume. By querying for getxattrs on the 
directories, for a fixed time interval (say t secs), it updates the 
context of the quota xlator in server graph, by sending the setxattr 
with a key in dict. The t depends on lists, in the descending order for, 
1. below soft limit 2. above soft limit; AND it is tunable.

     Thus in the current implementation we'll have 2 quota xlators: one 
in server graph, and one in trusted client of which the sole purpose 
will be to aggregate the quota xattrs on all the bricks and send the 
same to server quota xlator.

So, please share your opinion/suggestion/concerns about the above draft.

Thanks-to: Vijay, Amar, Raghavendra & Junaid.

Varun Shastry

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-devel/attachments/20130409/4e6429be/attachment-0001.html>

More information about the Gluster-devel mailing list