Commit 744d18dbfae07482ea461701b0aaec3a75ec9224
1 parent
31c9446993
NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode
In order to avoid the "Busy inodes after unmount" error message, we need to ensure that nfs_async_unlink_release() releases the super block after the call to nfs_free_unlinkdata(). Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Showing 1 changed file with 2 additions and 1 deletions Side-by-side Diff
fs/nfs/unlink.c
... | ... | @@ -95,10 +95,11 @@ |
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 = { |