srangana at redhat.com
Mon Dec 21 19:52:07 UTC 2015
On 12/21/2015 12:57 AM, Vijaikumar Mallikarjuna wrote:
> On Mon, Dec 21, 2015 at 9:43 AM, Nagaprasad Sathyanarayana
> <nsathyan at redhat.com <mailto:nsathyan at redhat.com>> wrote:
> Not clear as to why quota 2 must support both DHT v1 and v2. If
> customers continue to use dht v1, can we not allow them to use quota
> 1? We need not actively maintain quota v1 but only do reactive fixes.
> Idea is to have project quota in the early release and DHT-2 may not be
> fully ready in the first release. so it is good to support DHT1 with
> quota-2 till DHT-2 is stable.
Quota2 is aimed at solving any form of quota requirement, without tying
itself to a hierarchy assumption as in the existing quota. That would be
the aim for quota2, in my opinion.
Hence quota2 should be easily extensible for user, group, inode, size
etc. and is also applicable to either on-disk formats, as presented by
DHT or DHT2, or should be agnostic to the same.
Quota2 would additionally have some journalling requirements, unless
this is overcome by other means. If not, then quota2 needs parts of NSR
in all probability (I mean we do not want another journal now, do we?).
We would also need to factor in quota hierarchy, if we intend to support
the same, i.e hand a quota over to a subtree, that can be further
partitioned into quota spaces as deemed necessary, and in a fashion that
supports concepts of thin provisioning. IOW, in a structure like, /d1/d2
and /d1/d3, where d1 has X as the quota, and d2 has Y, and d3 Z
respectively, Y/Z can be greater than X but actual utilization would be
controlled by X. This can be helpful in multi tenant workloads, where a
tenant further sub-leases parts of the FS hierarchy and wants to control
space restrictions using quota. This requirement needs some whetting though.
Considering the delivery of quota2 as (much) before DHT2 or after,
really depends on the design that is laid out for quota2, once that is
complete and we have sufficient data that we are heading on the right
direction, we can estimate when quota2 would land from a release POV. At
this juncture we can determine what we need quota2 to support, i.e DHT
and DHT2 or just DHT2.
Also, for existing quota implementation we have user/group quota
enhancement, how far that can wait and its priorities can also help
determining if quota2 needs to play well with both on-disk formats.
More information about the Gluster-devel