Merge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6

* 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode
nfs_remount oops when rebooting + possible fix

+5 -4
+3 -3
fs/nfs/super.c
··· 1718 1718 * ones were explicitly specified. Fall back to legacy behavior and 1719 1719 * just return success. 1720 1720 */ 1721 - if ((nfsvers == 4 && options4->version == 1) || 1722 - (nfsvers <= 3 && options->version >= 1 && 1723 - options->version <= 6)) 1721 + if ((nfsvers == 4 && (!options4 || options4->version == 1)) || 1722 + (nfsvers <= 3 && (!options || (options->version >= 1 && 1723 + options->version <= 6)))) 1724 1724 return 0; 1725 1725 1726 1726 data = kzalloc(sizeof(*data), GFP_KERNEL);
+2 -1
fs/nfs/unlink.c
··· 95 95 static void nfs_async_unlink_release(void *calldata) 96 96 { 97 97 struct nfs_unlinkdata *data = calldata; 98 + struct super_block *sb = data->dir->i_sb; 98 99 99 100 nfs_dec_sillycount(data->dir); 100 - nfs_sb_deactive(NFS_SERVER(data->dir)); 101 101 nfs_free_unlinkdata(data); 102 + nfs_sb_deactive(NFS_SB(sb)); 102 103 } 103 104 104 105 static const struct rpc_call_ops nfs_unlink_ops = {