diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-03-25 14:15:11 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-03-27 17:48:07 +0200 |
commit | 4d65c520fb4abed970069d18c119cfe85624f46d (patch) | |
tree | 74671eb263380317f1e4a958a6a7f73749e98eec /lib/btree.c | |
parent | 16c29dafcc86024048f1dbb8349d31cb22c7c55a (diff) |
NFS: Fix a hang in the writeback path
Now that the inode scalability patches have been merged, it is no longer
safe to call igrab() under the inode->i_lock.
Now that we no longer call nfs_clear_request() until the nfs_page is
being freed, we know that we are always holding a reference to the
nfs_open_context, which again holds a reference to the path, and so
the inode cannot be freed until the last nfs_page has been removed
from the radix tree and freed.
We can therefore skip the igrab()/iput() altogether.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'lib/btree.c')
0 files changed, 0 insertions, 0 deletions