linux/fs/nfs
Trond Myklebust e89a5a43b9 NFS: Fix the mount regression
This avoids the recent NFS mount regression (returning EBUSY when
mounting the same filesystem twice with different parameters).

The best I can do given the constraints appears to be to have the kernel
first look for a superblock that matches both the fsid and the
user-specified mount options, and then spawn off a new superblock if
that search fails.

Note that this is not the same as specifying nosharecache everywhere
since nosharecache will never attempt to match an existing superblock.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Tested-by: Hua Zhong <hzhong@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-31 20:26:45 -07:00
..
callback_proc.c
callback_xdr.c NFSv4: debug print ntohl(status) in nfs client callback xdr code 2007-07-19 15:21:40 -04:00
callback.c Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
callback.h
client.c Make NFS client use seq_list_xxx helpers 2007-07-16 09:05:42 -07:00
delegation.c NFSv4: Don't call put_rpccred() from an rcu callback 2007-08-07 15:15:57 -04:00
delegation.h NFSv4: Use RCU to protect delegations 2007-07-10 23:40:41 -04:00
dir.c SUNRPC: Clean up the sillyrename code 2007-07-19 15:21:39 -04:00
direct.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
file.c locks: make posix_test_lock() interface more consistent 2007-07-18 19:17:19 -04:00
getroot.c
idmap.c
inode.c NFS: Fix put_nfs_open_context 2007-08-07 15:13:17 -04:00
internal.h NFS: Clean-up: use correct type when converting NFS blocks to local blocks 2007-07-10 23:40:44 -04:00
iostat.h
Makefile NFS: Remake nfsroot_mount as a permanent part of NFS client 2007-07-10 23:40:46 -04:00
mount_clnt.c NFS: Improve debugging output in NFS in-kernel mount client 2007-07-10 23:40:47 -04:00
namespace.c NFS: Replace flush_scheduled_work with cancel_work_sync() and friends 2007-08-07 16:12:50 -04:00
nfs2xdr.c NFS: Introduce struct nfs_removeargs+nfs_removeres 2007-07-19 15:21:39 -04:00
nfs3acl.c
nfs3proc.c SUNRPC: Clean up the sillyrename code 2007-07-19 15:21:39 -04:00
nfs3xdr.c NFS: Introduce struct nfs_removeargs+nfs_removeres 2007-07-19 15:21:39 -04:00
nfs4_fs.h NFSv4: 'constify' lookup arguments. 2007-07-19 15:09:03 -04:00
nfs4namespace.c
nfs4proc.c NFS: Fix NFSv4 open stateid regressions 2007-08-07 15:13:19 -04:00
nfs4renewd.c NFS: Replace flush_scheduled_work with cancel_work_sync() and friends 2007-08-07 16:12:50 -04:00
nfs4state.c NFSv4: Fix a locking regression in nfs4_set_mode_locked() 2007-08-07 15:13:18 -04:00
nfs4xdr.c NFS: Introduce struct nfs_removeargs+nfs_removeres 2007-07-19 15:21:39 -04:00
nfsroot.c NFS: Remake nfsroot_mount as a permanent part of NFS client 2007-07-10 23:40:46 -04:00
pagelist.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
proc.c SUNRPC: Clean up the sillyrename code 2007-07-19 15:21:39 -04:00
read.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
super.c NFS: Fix the mount regression 2007-08-31 20:26:45 -07:00
symlink.c
sysctl.c
unlink.c SUNRPC: Clean up the sillyrename code 2007-07-19 15:21:39 -04:00
write.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00