<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 21, 2015 at 9:43 AM, Nagaprasad Sathyanarayana <span dir="ltr">&lt;<a href="mailto:nsathyan@redhat.com" target="_blank">nsathyan@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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.<br>
<br>
<br></blockquote><div>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.</div><div><br></div><div>Thanks,</div><div>Vijay</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks<br>
Naga<br>
<div><div class="h5"><br>
<br>
&gt; On Dec 18, 2015, at 2:30 PM, Vijaikumar Mallikarjuna &lt;<a href="mailto:vmallika@redhat.com">vmallika@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Hi All,<br>
&gt;<br>
&gt; Here is the summary of discussion we had today on Quota-v2<br>
&gt;<br>
&gt; Project, user and group quotas will use the same logic of accounting the usage<br>
&gt;<br>
&gt; Quota-v2 should be compatible with both DHT-v1 and DHT-v2<br>
&gt;<br>
&gt; Project quotas will use gfid of the given path as the project-id.<br>
&gt;     each inode will have a associated project-id which needs to be embedded within inode.<br>
&gt;     when creating new file, it will inherit project-id from its parent inode.<br>
&gt;     In case if parent inode doesn&#39;t contain project-id, then there should be a mechanism to<br>
&gt;     find the project-id given a gfid, so back-pointers can solve this problem<br>
&gt;     which xlator DHT/marker will set the project-id in the inode? this needs to be decided<br>
&gt;<br>
&gt; User and group quotas will use uid and gid to account the usage<br>
&gt;<br>
&gt; Quota has below set of operation which should be performed as a single transaction<br>
&gt;       read current size<br>
&gt;       read current contribution<br>
&gt;       update delta to the contribution<br>
&gt;       update size to user/project inode<br>
&gt; In the current directory quota, to make this transaction crash consistent we use a mechanism of setting dirty flag in a parent inode.<br>
&gt; This mechanism will not work efficiently with project quotas. Journaling will be the good solution for crash-consistency.<br>
&gt;<br>
&gt; Quota 2 depends on:<br>
&gt;       back-pointers: to find project-id from gfid<br>
&gt;       journaling: for crash consistency of accounting<br>
&gt;<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Vijay<br>
</div></div>&gt; _______________________________________________<br>
&gt; Gluster-devel mailing list<br>
&gt; <a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
&gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-devel</a><br>
</blockquote></div><br></div></div>