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>
This commit is contained in:
parent
60fa3f769f
commit
5a6d41b32a
2 changed files with 15 additions and 8 deletions
|
@ -31,7 +31,6 @@
|
|||
#define PG_NEED_COMMIT 1
|
||||
#define PG_NEED_RESCHED 2
|
||||
#define PG_NEED_FLUSH 3
|
||||
#define PG_FLUSHING 4
|
||||
|
||||
struct nfs_inode;
|
||||
struct nfs_page {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue