diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-04-20 16:12:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-20 22:56:29 -0700 |
commit | 612c9384fd0486686699f7d49b774f0c7a79c511 (patch) | |
tree | 443192b69689488f0be8ca72f3e8f73db0a53988 /net/sunrpc/xprt.c | |
parent | 6d677e3504cd173b2ff7fc393ee4241b3c0f92a6 (diff) | |
download | linux-3.10-612c9384fd0486686699f7d49b774f0c7a79c511.tar.gz linux-3.10-612c9384fd0486686699f7d49b774f0c7a79c511.tar.bz2 linux-3.10-612c9384fd0486686699f7d49b774f0c7a79c511.zip |
NFS: Fix the 'desynchronized value of nfs_i.ncommit' error
Redirtying a request that is already marked for commit will screw up the
accounting for NR_UNSTABLE_NFS as well as nfs_i.ncommit.
Ensure that all requests on the commit queue are labelled with the
PG_NEED_COMMIT flag, and avoid moving them onto the dirty list inside
nfs_page_mark_flush().
Also inline nfs_mark_request_dirty() into nfs_page_mark_flush() for
atomicity reasons. Avoid dropping the spinlock until we're done marking the
request in the radix tree and have added it to the ->dirty list.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'net/sunrpc/xprt.c')
0 files changed, 0 insertions, 0 deletions