gluster-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Amar Tumballi
Subject: Re: [Gluster-devel] no dentry for non-root inode
Date: Tue, 08 Nov 2011 10:58:54 +0530
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0) Gecko/20110927 Thunderbird/7.0

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]