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.. --- 25-akpm/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 Fri Feb 13 17:15:13 2004 +++ 25-akpm/fs/nfs/inode.c Fri Feb 13 17:15:13 2004 @@ -312,6 +312,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 && _