NFS/pNFS: Fix up pNFS write reschedule layering violations and bugs
authorTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 31 Dec 2015 16:44:06 +0000 (11:44 -0500)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 31 Dec 2015 18:50:42 +0000 (13:50 -0500)
commitdc602dd706cb64036132a7903ead1c67d9a7bcb9
tree88d632825b446b8445a0219c3ac24a00a1d2853b
parente07db907eb80525874b7707c62cc6f5e975ef130
NFS/pNFS: Fix up pNFS write reschedule layering violations and bugs

The flexfiles layout in particular, seems to want to poke around in the
O_DIRECT flags when retransmitting.
This patch sets up an interface to allow it to call back into O_DIRECT
to handle retransmission correctly. It also fixes a potential bug whereby
we could change the behaviour of O_DIRECT if an error is already pending.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/direct.c
fs/nfs/flexfilelayout/flexfilelayout.c
fs/nfs/internal.h
fs/nfs/write.c
include/linux/nfs_xdr.h