NFS: Ensure PG_writeback is cleared when writeback fails
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 14 Apr 2007 23:10:12 +0000 (19:10 -0400)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sun, 15 Apr 2007 04:46:48 +0000 (21:46 -0700)
commit5a6d41b32a17ca902ef50fdfa170d7f23264bad5
tree1a380f2e7fe7858da3dfb53ec85e3d4b100c948f
parent60fa3f769f7651a60125a0f44e3ffe3246d7cf39
NFS: Ensure PG_writeback is cleared when writeback fails

If the writebacks are cancelled via nfs_cancel_dirty_list, or due to the
memory allocation failing in nfs_flush_one/nfs_flush_multi, then we must
ensure that the PG_writeback flag is cleared.

Also ensure that we actually own the PG_writeback flag whenever we
schedule a new writeback by making nfs_set_page_writeback() return the
value of test_set_page_writeback().
The PG_writeback page flag ends up replacing the functionality of the
PG_FLUSHING nfs_page flag, so we rip that out too.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/nfs/write.c
include/linux/nfs_page.h