Re: detected cyclic loop formation during inode linkage

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

 



Anand Avati <anand.avati@xxxxxxxxx> 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
manu@xxxxxxxxxx



[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux