<div dir="ltr"><div>Hi,<br><br></div>I was working on subdir mount for fuse clients [1], and was able to handle pieces just fine in filesystem part of gluster. [2]<br clear="all"><div><div><br></div><div>What is pending is, how will we handle the authentication options for this at each subdir level?<br><br></div><div>I propose to keep the current option and extending it to handle new feature with proper backward compatibility.<br><br></div><div>Currently, the <span style="font-family:monospace,monospace">option auth.allow</span> (and auth.reject) are of the type <span style="font-family:monospace,monospace">GF_OPTION_TYPE_INTERNET_ADDRESS_LIST<font face="arial,helvetica,sans-serif">. Which expects valid internet addresses with comma separation.<br><br></font></span></div><div><span style="font-family:monospace,monospace"><font face="arial,helvetica,sans-serif">For example the current option looks likes this:<br><br></font></span></div><div><span style="font-family:monospace,monospace"><font face="arial,helvetica,sans-serif"> &#39;option auth.addr.brick-name.allow *&#39; OR &#39;option auth.addr.brick-name.allow &quot;192.168.*.* ,10.10.*.*&quot;&#39;. <br><br></font></span></div><div><span style="font-family:monospace,monospace"><font face="arial,helvetica,sans-serif">In future, it may look like:<br><br></font></span></div><div><span style="font-family:monospace,monospace"><font face="arial,helvetica,sans-serif">`option auth.addr.brick-name.allow &quot;10.0.1.13;192.168.1.* =/subdir1;192.168.10.* ,192.168.11.104 =/subdir2&quot;`<br></font></span></div><div><br></div><div>so each entries will be separated by &#39;;&#39;. And in each entry, first part (&quot; =&quot;) is address list and second part is directory. If directory is empty, its assumed as &#39;/&#39;. (Handles the backward compatibility). And if there is no entry for a $subdir here, that $subdir won&#39;t be mountable.<br><br></div><div>(The above format is handled properly already at [2] in addr.c, the pending thing is to handle the option properly in options.c&#39;s validate).<br><br></div><div>[1] - <a href="https://github.com/gluster/glusterfs/issues/175">https://github.com/gluster/glusterfs/issues/175</a><br>[2] - <a href="https://review.gluster.org/17141">https://review.gluster.org/17141</a><br></div><div><br></div><div>If everyone agrees to this, I guess we can pull it off before absolute feature freeze date for 3.12 branch.<br><br></div><div>Let me know the feedback. (I am updating the same content in github, so feel free to comment there too).<br><br></div><div>NOTE: I thought of using &#39;:&#39; (colon) as field separator between addr_list and subdir entry, but with IPv6 &#39;:&#39; is valid character in string. Hence using &#39; =&#39;.<br></div><div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Amar Tumballi (amarts)<br></div></div></div></div></div>
</div></div></div>