diff options
author | Fred Isaman <iisaman@citi.umich.edu> | 2008-05-01 20:03:22 +0300 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-05-16 09:43:23 -0700 |
commit | 38def50fabc479dc96ea6bd2cb2526e0dfc36fa4 (patch) | |
tree | c7327131526e59b35f639af91dbea3075b20445e | |
parent | b0b539739fe9b7d75002412a787cfdf4efddbc33 (diff) | |
download | blackbird-op-linux-38def50fabc479dc96ea6bd2cb2526e0dfc36fa4.tar.gz blackbird-op-linux-38def50fabc479dc96ea6bd2cb2526e0dfc36fa4.zip |
nfs: fix race in nfs_dirty_request
When called from nfs_flush_incompatible, the req is not locked, so
req->wb_page might be set to NULL before it is used by PageWriteback.
Signed-off-by: Fred Isaman <iisaman@citi.umich.edu>
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r-- | fs/nfs/write.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index 1ade11d1ba07..6d8ace3e3259 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -415,7 +415,7 @@ nfs_dirty_request(struct nfs_page *req) if (page == NULL || test_bit(PG_NEED_COMMIT, &req->wb_flags)) return 0; - return !PageWriteback(req->wb_page); + return !PageWriteback(page); } #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) |