<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 18, 2015 at 8:28 PM, Shyam <span dir="ltr">&lt;<a href="mailto:srangana@redhat.com" target="_blank">srangana@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">&lt;first off the cuff response&gt;<span class=""><br>
<br>
On 12/18/2015 04:00 AM, Vijaikumar Mallikarjuna wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All,<br>
<br>
Here is the summary of discussion we had today on Quota-v2<br>
<br>
Project, user and group quotas will use the same logic of accounting the<br>
usage<br>
<br>
Quota-v2 should be compatible with both DHT-v1 and DHT-v2<br>
<br>
Project quotas will use gfid of the given path as the project-id.<br>
     each inode will have a associated project-id which needs to be<br>
embedded within inode.<br>
     when creating new file, it will inherit project-id from its parent<br>
inode.<br>
     In case if parent inode doesn&#39;t contain project-id, then there<br>
should be a mechanism to<br>
     find the project-id given a gfid, so back-pointers can solve this<br>
problem<br>
</blockquote>
<br></span>
Why would the parent not contain a project-id? and if it does not contain a project-id, why would you need to find a project-id?<br>
<br>
What I can visualize is that, the parent is not yet part of a quota project, hence it does not contain a project-id. When this becomes a part of some quota restriction it would start getting a quota. This seems to be one case where the project-id would be missing, but by choice.<br>
<br>
What am I missing here?<div class="HOEnZb"><div class="h5"><br></div></div></blockquote><div>There are two scenarios where project-id can be missing</div><div>1) When quota is enabled on a pre-existing data,</div><div>2) Directory created when one of the brick is down</div><div><br></div><div>Thanks,</div><div>Vijay</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
     which xlator DHT/marker will set the project-id in the inode? this<br>
needs to be decided<br>
User and group quotas will use uid and gid to account the usage<br>
<br>
Quota has below set of operation which should be performed as a single<br>
transaction<br>
       read current size<br>
       read current contribution<br>
       update delta to the contribution<br>
       update size to user/project inode<br>
In the current directory quota, to make this transaction crash<br>
consistent we use a mechanism of setting dirty flag in a parent inode.<br>
This mechanism will not work efficiently with project quotas. Journaling<br>
will be the good solution for crash-consistency.<br>
<br>
Quota 2 depends on:<br>
       back-pointers: to find project-id from gfid<br>
       journaling: for crash consistency of accounting<br>
<br>
<br>
Thanks,<br>
Vijay<br>
</blockquote>
</div></div></blockquote></div><br></div></div>