Previously function 'posix_acl_ctx_get' 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. Now inode-ctx is created only in lookup_cbk and setattr_cbk to populate the ctx with valid perm from statbuf, so I think we need to send lookup for root-inode.
Thanks, Vijay On Mon, Mar 28, 2016 at 8:40 PM, FNU Raghavendra Manjunath < rab...@redhat.com> wrote: > Root inode gets linked during mount itselsf. > > 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. > > Du? Did I miss anything? > > Regards, > Raghavendra > On Mar 28, 2016 11:02 AM, "Vijaikumar Mallikarjuna" <vmall...@redhat.com> > wrote: > >> Hi Du/Johny, >> >> Don't we get a lookup on root inode? Please confirm. >> >> If we don't get lookup on root inode, then we need to create inode-ctx in >> a posix_acl_ctx_get() function. >> >> Thanks, >> Vijay >> On 28-Mar-2016 7:37 PM, "FNU Raghavendra Manjunath" <rab...@redhat.com> >> wrote: >> >>> CCing Vijay Kumar who made the acl related changes in that patch. >>> >>> Vijay? Can you please look into it? >>> >>> Regards, >>> Raghavendra >>> >>> On Mon, Mar 28, 2016 at 9:57 AM, Avra Sengupta <aseng...@redhat.com> >>> wrote: >>> >>>> Hi Raghavendra, >>>> >>>> As part of the patch (http://review.gluster.org/#/c/13730/16), the >>>> inode_ctx is not created in posix_acl_ctx_get(). Because of this the >>>> testcase in http://review.gluster.org/#/c/13623/ breaks. It fails with >>>> the following logs: >>>> >>>> [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 >>>> [2016-03-28 13:43:39.216495] E [posix-acl.c:199:acl_permits] (--> >>>> /usr/local/lib/libglusterfs.so.0(_gf_log_callingfn+0x1ba)[0x7f6fea72780a] >>>> (--> >>>> /usr/local/lib/glusterfs/3.8dev/xlator/features/access-control.so(+0x49c4)[0x7f6fde5499c4] >>>> (--> >>>> /usr/local/lib/glusterfs/3.8dev/xlator/features/access-control.so(+0xa855)[0x7f6fde54f855] >>>> (--> >>>> /usr/local/lib/glusterfs/3.8dev/xlator/features/locks.so(+0xd37e)[0x7f6fde33837e] >>>> (--> >>>> /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 >>>> [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) ==> (Permission denied) >>>> [Permission denied] >>>> >>>> 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 >>>> >>>> Regards, >>>> Avra >>>> >>>> >>>> >>>
_______________________________________________ Gluster-devel mailing list Gluster-devel@gluster.org http://www.gluster.org/mailman/listinfo/gluster-devel