[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gluster-devel] detected cyclic loop formation during inode linkage
From: |
Emmanuel Dreyfus |
Subject: |
Re: [Gluster-devel] detected cyclic loop formation during inode linkage |
Date: |
Thu, 9 Aug 2012 07:18:43 +0200 |
User-agent: |
MacSOUP/2.7 (unregistered for 2028 days) |
Anand Avati <address@hidden> wrote:
> The Linux FUSE does not perform lookup() on ".." but instead looks up the
> parent of cwd's dentry within the kernel module itself. In 3.3 we changed
> the behavior to establish inode on a ".." lookup but neglect dentry
> establishment (since it will form a loop). You might want to
> backport 9bd1b291e3e107250b38d05702df7cd751382bdc to release-3.2 if NetBSD
> FUSE sends ".." lookup.
I would prefer to fix NetBSD FUSE so that it gets closer to Linux
behavior, but that does not look obvious: once its TTL is expired, the
parent node may get INACTIVE/FORGET, therefore we must send a LOOKUP ..
to the filesystem to retreive it again.
Even if the kernel avoids sending FORGET for nodes that have children,
there are caveats for distributed filesystems: the parent may have been
changed by another client that did a RENAME, therefore I fail to see how
it can always avoid a LOOKUP.
How does it works on Linux?
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
address@hidden