<div dir="ltr"><font face="monospace, monospace">Previously function &#39;<span style="color:rgb(80,0,80);font-size:12.8px">posix_acl_ctx_get&#39; was creating inode_ctx if it is not present. So if sometime lookup does not come for root inode, then inode-ctx was created here without any perm set.</span></font><div><font face="monospace, monospace"><span style="color:rgb(80,0,80);font-size:12.8px">Now inode-ctx is created only in lookup_cbk and setattr_cbk to populate the ctx with valid perm from statbuf, s</span><span style="color:rgb(80,0,80);font-size:12.8px">o I think we need to send lookup for root-inode.</span></font></div><div><span style="color:rgb(80,0,80);font-size:12.8px"><font face="monospace, monospace"><br></font></span></div><div><span style="color:rgb(80,0,80);font-size:12.8px"><font face="monospace, monospace">Thanks,</font></span></div><div><span style="color:rgb(80,0,80);font-size:12.8px"><font face="monospace, monospace">Vijay</font></span></div><div><span style="color:rgb(80,0,80);font-size:12.8px"><br></span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 28, 2016 at 8:40 PM, FNU Raghavendra Manjunath <span dir="ltr">&lt;<a href="mailto:rabhat@redhat.com" target="_blank">rabhat@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"><p dir="ltr">Root inode gets linked during mount itselsf.</p>
<p dir="ltr">We get lookups on root. But since root inode is always present in the inode table, after the mount if there is a fop on an entry whose parent is root, then that fop will be able to find the parent in the inode table as part of resolve. So it need not explicitly send a hard resolution for resolving parent inode.</p>
<p dir="ltr">Du? Did I miss anything?</p>
<p dir="ltr">Regards,<br>
Raghavendra</p><div class="HOEnZb"><div class="h5">
<div class="gmail_quote">On Mar 28, 2016 11:02 AM, &quot;Vijaikumar Mallikarjuna&quot; &lt;<a href="mailto:vmallika@redhat.com" target="_blank">vmallika@redhat.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Hi Du/Johny,</p>
<p dir="ltr">Don&#39;t we get a lookup on root inode? Please confirm.</p>
<p dir="ltr">If we don&#39;t get lookup on root inode, then we need to create inode-ctx in a posix_acl_ctx_get() function.</p>
<p dir="ltr">Thanks,<br>
Vijay<br></p>
<div class="gmail_quote">On 28-Mar-2016 7:37 PM, &quot;FNU Raghavendra Manjunath&quot; &lt;<a href="mailto:rabhat@redhat.com" target="_blank">rabhat@redhat.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">CCing Vijay Kumar who made the acl related changes in that patch.<div><br></div><div>Vijay? Can you please look into it?</div><div><br></div><div>Regards,</div><div>Raghavendra</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 28, 2016 at 9:57 AM, Avra Sengupta <span dir="ltr">&lt;<a href="mailto:asengupt@redhat.com" target="_blank">asengupt@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">Hi Raghavendra,<br>
<br>
As part of the patch (<a href="http://review.gluster.org/#/c/13730/16" rel="noreferrer" target="_blank">http://review.gluster.org/#/c/13730/16</a>), the inode_ctx is not created in posix_acl_ctx_get(). Because of this the testcase in <a href="http://review.gluster.org/#/c/13623/" rel="noreferrer" target="_blank">http://review.gluster.org/#/c/13623/</a> breaks. It fails with the following logs:<br>
<br>
[2016-03-28 13:43:39.216168] D [MSGID: 0] [io-threads.c:346:iot_schedule] 0-patchy-io-threads: CREATE scheduled as normal fop<br>
[2016-03-28 13:43:39.216495] E [posix-acl.c:199:acl_permits] (--&gt; /usr/local/lib/libglusterfs.so.0(_gf_log_callingfn+0x1ba)[0x7f6fea72780a] (--&gt; /usr/local/lib/glusterfs/3.8dev/xlator/features/access-control.so(+0x49c4)[0x7f6fde5499c4] (--&gt; /usr/local/lib/glusterfs/3.8dev/xlator/features/access-control.so(+0xa855)[0x7f6fde54f855] (--&gt; /usr/local/lib/glusterfs/3.8dev/xlator/features/locks.so(+0xd37e)[0x7f6fde33837e] (--&gt; /usr/local/lib/glusterfs/3.8dev/xlator/features/upcall.so(+0x640f)[0x7f6fde12040f] ))))) 0-patchy-access-control: inode ctx is NULL for 00000000-0000-0000-0000-000000000001<br>
[2016-03-28 13:43:39.216544] I [MSGID: 115071] [server-rpc-fops.c:1612:server_create_cbk] 0-patchy-server: 8: CREATE /file1 (00000000-0000-0000-0000-000000000001/file1) ==&gt; (Permission denied) [Permission denied]<br>
<br>
Is it because we missed the inode_ctx creation that was being done by posix_acl_ctx_get() previously? Can you please shed some light on this<br>
<br>
Regards,<br>
Avra<br>
<br>
<br>
</blockquote></div><br></div>
</blockquote></div>
</blockquote></div>
</div></div></blockquote></div><br></div>