From: Linus Torvalds On Thu, 12 Feb 2004 viro@parcelfarce.linux.theplanet.co.uk wrote: > > Nope. deactivate_super() is the right thing there. We _do_ hold an > active reference. And we definitely want to get ->kill_sb() called. > > *However*, cleanup path in nfs_sb_init() is clearly bogus - it does Fair enough. Tim, does Al's patch help? Appended as a real patch, I'll commit it on confirmation that it fixes things.. --- fs/nfs/inode.c | 2 ++ 1 files changed, 2 insertions(+) diff -puN fs/nfs/inode.c~nfs-mount-oops-fix fs/nfs/inode.c --- 25/fs/nfs/inode.c~nfs-mount-oops-fix 2004-02-11 22:32:32.000000000 -0800 +++ 25-akpm/fs/nfs/inode.c 2004-02-11 22:32:32.000000000 -0800 @@ -311,6 +311,8 @@ nfs_sb_init(struct super_block *sb, rpc_ /* Get some general file system info */ if (server->rpc_ops->fsinfo(server, &server->fh, &fsinfo) < 0) { printk(KERN_NOTICE "NFS: cannot retrieve file system info.\n"); + dput(sb->s_root); + root_inode = NULL; goto out_no_root; } if (server->namelen == 0 && _