<div dir="ltr"><div>Hi All,</div><div><br></div><div>Here is the summary of discussion we had today on Quota-v2</div><div><br></div><div>Project, user and group quotas will use the same logic of accounting the usage</div><div><br></div><div>Quota-v2 should be compatible with both DHT-v1 and DHT-v2</div><div><br></div><div>Project quotas will use gfid of the given path as the project-id.</div><div>    each inode will have a associated project-id which needs to be embedded within inode.</div><div>    when creating new file, it will inherit project-id from its parent inode.</div><div>    In case if parent inode doesn&#39;t contain project-id, then there should be a mechanism to</div><div>    find the project-id given a gfid, so back-pointers can solve this problem</div><div>    which xlator DHT/marker will set the project-id in the inode? this needs to be decided</div><div>    </div><div>User and group quotas will use uid and gid to account the usage</div><div><br></div><div>Quota has below set of operation which should be performed as a single transaction</div><div>      read current size</div><div>      read current contribution</div><div>      update delta to the contribution</div><div>      update size to user/project inode</div><div>In the current directory quota, to make this transaction crash consistent we use a mechanism of setting dirty flag in a parent inode.</div><div>This mechanism will not work efficiently with project quotas. Journaling will be the good solution for crash-consistency.</div><div><br></div><div>Quota 2 depends on:</div><div>      back-pointers: to find project-id from gfid</div><div>      journaling: for crash consistency of accounting</div><div><br></div><div><br></div><div>Thanks,</div><div>Vijay</div></div>