]> git.baikalelectronics.ru Git - kernel.git/commit
NFS: Fix the 'desynchronized value of nfs_i.ncommit' error
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Fri, 20 Apr 2007 20:12:45 +0000 (16:12 -0400)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sat, 21 Apr 2007 05:56:29 +0000 (22:56 -0700)
commit9299d0f1fac7284f18e0447e3afea4031b04eac7
tree443192b69689488f0be8ca72f3e8f73db0a53988
parent7d3bfad0091953ac10ca6808f4dceeb1f907fcf6
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>
fs/nfs/write.c