diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-06-19 13:39:14 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-06-19 18:42:14 -0400 |
commit | 5a695da26367f53a368c90435e0b883c12f02791 (patch) | |
tree | 0bd0e628544370e9a5edabcdf0d38859d1364d6e /fs/nfs/direct.c | |
parent | 0a9c63fae7df086ff5e107273c3cce8642430974 (diff) | |
download | linux-5a695da26367f53a368c90435e0b883c12f02791.tar.gz linux-5a695da26367f53a368c90435e0b883c12f02791.tar.bz2 linux-5a695da26367f53a368c90435e0b883c12f02791.zip |
NFS: Fix a refcounting issue in O_DIRECT
In nfs_direct_write_reschedule(), the requests from nfs_scan_commit_list
have a refcount of 2, whereas the operations in
nfs_direct_write_completion_ops expect them to have a refcount of 1.
This patch adds a call to release the extra references.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Fred Isaman <iisaman@netapp.com>
Diffstat (limited to 'fs/nfs/direct.c')
-rw-r--r-- | fs/nfs/direct.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/direct.c b/fs/nfs/direct.c index 3168f6e3d4d4..9a4cbfc85d81 100644 --- a/fs/nfs/direct.c +++ b/fs/nfs/direct.c @@ -490,6 +490,7 @@ static void nfs_direct_write_reschedule(struct nfs_direct_req *dreq) dreq->error = -EIO; spin_unlock(cinfo.lock); } + nfs_release_request(req); } nfs_pageio_complete(&desc); |