NFS: Ensure we commit after writeback is complete
authorTrond Myklebust <trond.myklebust@primarydata.com>
Tue, 20 Jun 2017 23:35:37 +0000 (19:35 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Thu, 13 Jul 2017 19:58:05 +0000 (15:58 -0400)
commit919e3bd9a87593520a2c5dfda27bd3e6599852ed
tree94bbb463d528d3ecf32967d067a2781b776709bc
parentb5973a8c1ccf375c9ab9e2428e1185e3f799af06
NFS: Ensure we commit after writeback is complete

If the page cache is being flushed, then we want to ensure that we
do start a commit once the pages are done being flushed.
If we just wait until all I/O is done to that file, we can end up
livelocking until the balance_dirty_pages() mechanism puts its
foot down and forces I/O to stop.
So instead we do more or less the same thing that O_DIRECT does,
and set up a counter to tell us when the flush is done,

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/pagelist.c
fs/nfs/write.c
include/linux/nfs_page.h
include/linux/nfs_xdr.h