diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2018-03-07 21:22:31 +0100 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2018-03-08 18:56:32 +0100 |
commit | c4f24df942a181699c5bab01b8e5e82b925f77f3 (patch) | |
tree | 8ee1067aaac971f1de07c609dc17f2fa03a3b69c /lib/gen_crc32table.c | |
parent | pNFS: Prevent the layout header refcount going to zero in pnfs_roc() (diff) | |
download | linux-c4f24df942a181699c5bab01b8e5e82b925f77f3.tar.xz linux-c4f24df942a181699c5bab01b8e5e82b925f77f3.zip |
NFS: Fix unstable write completion
We do want to respect the FLUSH_SYNC argument to nfs_commit_inode() to
ensure that all outstanding COMMIT requests to the inode in question are
complete. Currently we may exit early from both nfs_commit_inode() and
nfs_write_inode() even if there are COMMIT requests in flight, or unstable
writes on the commit list.
In order to get the right semantics w.r.t. sync_inode(), we don't need
to have nfs_commit_inode() reset the inode dirty flags when called from
nfs_wb_page() and/or nfs_wb_all(). We just need to ensure that
nfs_write_inode() leaves them in the right state if there are outstanding
commits, or stable pages.
Reported-by: Scott Mayhew <smayhew@redhat.com>
Fixes: dc4fd9ab01ab ("nfs: don't wait on commit in nfs_commit_inode()...")
Cc: stable@vger.kernel.org # v4.14+
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'lib/gen_crc32table.c')
0 files changed, 0 insertions, 0 deletions