Valid questions. access-control had to be as close to posix as possible in its first implementation (to minimize the cost of the STAT calls originated by it), but since the introduction of posix-acl there are no extra STAT calls, and given the later introduction of quota, it certainly makes sense to have access-control/posix-acl closer to protocol/server. Some general constraints to consider while deciding the order:<div><br></div><div>- keep io-stats as close to protocol/server as possible</div><div>- keep io-threads as close to storage/posix as possible</div><div>- any xlator which performs direct filesystem operations (with system calls, not STACK_WIND) are better placed between io-threads and posix to keep epoll thread nonblocking  (e.g changelog)<br><br></div><div>Thanks</div><br><div class="gmail_quote">On Mon Jan 12 2015 at 5:02:59 AM Xavier Hernandez &lt;<a href="mailto:xhernandez@datalab.es">xhernandez@datalab.es</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
looking at the server-side xlator stack created on a generic volume with<br>
quota enabled, I see the following xlators:<br>
<br>
     posix<br>
     changelog<br>
     access-control<br>
     locks<br>
     io-threads<br>
     barrier<br>
     index<br>
     marker<br>
     quota<br>
     io-stats<br>
     server<br>
<br>
The question is why access-control and quota are in this relative order.<br>
It would seem more logical to me to be in the reverse order because if<br>
an operation is not permitted, it&#39;s irrelevant if there is enough quota<br>
to do it or not: gluster should return EPERM or EACCES instead of EDQUOT.<br>
<br>
Also, index and marker can operate on requests that can be later denied<br>
by access-control, having to undo the work done in that case. Wouldn&#39;t<br>
it be better to use index and marker after having validated all<br>
permissions of the request ?<br>
<br>
I&#39;m not very familiarized with these xlators, so maybe I&#39;m missing an<br>
important detail.<br>
<br>
Thanks,<br>
<br>
Xavi<br>
______________________________<u></u>_________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
<a href="http://www.gluster.org/mailman/listinfo/gluster-devel" target="_blank">http://www.gluster.org/<u></u>mailman/listinfo/gluster-devel</a><br>
</blockquote></div>