[Gluster-devel] no dentry for non-root inode

Amar Tumballi amarts at redhat.com
Tue Nov 8 05:28:54 UTC 2011


On 11/08/2011 10:56 AM, Amar Tumballi wrote:
> Hello Emmanuel,
>>>> [2011-11-05 03:12:47.856612] W [inode.c:1044:inode_path]
>>>> 0-/export/wd3e/inode: no dentry for non-root inode
>>>> -9091625530591748852: d968c71c-9c3f-471e-81d4-0ebfda34dd0c
>
> This log is not a 'error', but warning. What that means is, this 
> condition need not be causing the error seen by the user.
>
> One of the case why this warning would come up is from below set of 
> operations:
>
> machine 1 --> user creates a file  (inode created, fd on inode is 
> created, dentry with filename is linked to parent inode).
>
> machine 2 --> just do a 'cat' on file (inode is looked up, updated in 
> inode_table).
>
> machine 3 --> delete the file (dentry is unlinked from inode, inode 
> still valid as there is fd open on it)
>
> machine 2 --> try to perform some operation on the file (inode is 
> tried to looked up, inode is valid on server as there is a 'fd' open 
> on it, but there is no 'PATH' for it, as dentry is unlinked), user 
> gets error ENOENT. (this is when you can see such logs in server).
>
> machine 1 --> perform operations on 'fd' --> succeeds as fd is still 
> valid.
>
> machine 1 --> close the fd.. (inode gets destroyed on server, no more 
> valid inode for that gfid).
>
> Hope you can now relate this type of pattern in your testing.

In the above case, one need not have 3 machines to reproduce this, but 3 
processes are enough on same client (but in this case, he normally sees 
the log in fuse_resolve.c itself).

Regards,
Amar




More information about the Gluster-devel mailing list