[PATCH] VFS: Make d_materialise_unique() enforce directory uniqueness
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 21 Oct 2006 17:24:20 +0000 (10:24 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 21 Oct 2006 20:35:06 +0000 (13:35 -0700)
commit9eaef27b36a6b716384948da94b8fc5bfba7b712
treeab69cf9c3863bb7ca564574c914e5b6bf8ad3162
parent3f7705eab6722ad1a346d748c4aad55755d6c241
[PATCH] VFS: Make d_materialise_unique() enforce directory uniqueness

If the caller tries to instantiate a directory using an inode that already
has a dentry alias, then we attempt to rename the existing dentry instead
of instantiating a new one.  Fail with an ELOOP error if the rename would
affect one of our parent directories.

This behaviour is needed in order to avoid issues such as

  http://bugzilla.kernel.org/show_bug.cgi?id=7178

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Cc: Maneesh Soni <maneesh@in.ibm.com>
Cc: Dipankar Sarma <dipankar@in.ibm.com>
Cc: Neil Brown <neilb@cse.unsw.edu.au>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/dcache.c
fs/nfs/dir.c