Trond Myklebust
2a28923bb5
NFS: Fix unstable write completion
...
commit c4f24df942 upstream.
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: dc4fd9ab01 ("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 >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2018-03-18 11:18:54 +01:00
..
2017-11-30 08:39:05 +00:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2017-12-20 10:07:25 +01:00
2017-12-20 10:07:15 +01:00
2016-10-15 12:09:13 -07:00
2016-10-10 23:02:51 -04:00
2018-03-11 16:21:35 +01:00
2016-10-10 20:16:43 -07:00
2017-12-20 10:07:16 +01:00
2018-02-17 13:21:12 +01:00
2017-11-24 08:33:42 +01:00
2017-06-24 07:11:12 +02:00
2017-11-30 08:39:11 +00:00
2017-08-06 18:59:43 -07:00
2016-10-10 20:16:43 -07:00
2017-09-09 17:39:40 +02:00
2017-11-30 08:39:03 +00:00
2016-10-10 20:16:43 -07:00
2016-10-27 18:43:43 -07:00
2016-10-06 09:07:44 -04:00
2017-07-27 15:08:02 -07:00
2018-03-18 11:18:54 +01:00
2018-03-03 10:23:20 +01:00
2017-03-15 10:02:52 +08:00
2017-10-27 10:38:11 +02:00
2017-11-02 09:49:13 +01:00
2017-12-20 10:07:30 +01:00
2016-10-10 20:16:43 -07:00
2017-07-27 15:08:07 -07:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2017-10-08 10:26:09 +02:00
2017-11-30 08:39:04 +00:00
2018-02-22 15:43:48 +01:00
2016-10-10 20:16:43 -07:00
2017-08-06 18:59:39 -07:00
2018-02-17 13:21:15 +01:00
2017-11-30 08:39:06 +00:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2018-03-18 11:18:54 +01:00
2018-02-03 17:05:38 +01:00
2018-02-03 17:05:38 +01:00
2017-11-30 08:39:03 +00:00
2017-08-06 18:59:43 -07:00
2016-10-30 13:09:42 -04:00
2018-02-22 15:43:52 +01:00
2016-10-10 20:16:43 -07:00
2018-01-31 12:55:53 +01:00
2018-02-17 13:21:20 +01:00
2018-02-17 13:21:18 +01:00
2017-08-06 18:59:43 -07:00
2018-02-03 17:05:39 +01:00
2016-10-10 20:16:43 -07:00
2018-02-25 11:05:53 +01:00
2017-06-17 06:41:56 +02:00
2016-10-07 21:48:36 -04:00
2017-04-12 12:41:11 +02:00
2016-10-10 20:16:43 -07:00
2018-02-17 13:21:14 +01:00
2017-12-20 10:07:33 +01:00
2017-06-14 15:06:01 +02:00
2018-03-03 10:23:25 +01:00
2017-07-05 14:40:26 +02:00
2016-10-10 20:16:43 -07:00
2017-01-09 08:32:24 +01:00
2017-07-21 07:42:21 +02:00
2017-10-18 09:35:39 +02:00
2017-06-14 15:06:00 +02:00
2018-02-25 11:05:55 +01:00
2017-07-05 14:40:26 +02:00
2018-02-28 10:18:33 +01:00
2017-08-06 18:59:43 -07:00
2017-10-18 09:35:41 +02:00
2017-09-07 08:35:41 +02:00
2017-07-21 07:42:22 +02:00
2018-01-31 12:55:52 +01:00
2017-12-20 10:07:20 +01:00
2017-09-20 08:20:01 +02:00
2017-09-20 08:20:01 +02:00
2017-09-20 08:19:59 +02:00
2016-10-07 18:46:29 -07:00
2017-12-09 22:01:51 +01:00
2016-10-18 12:21:28 +02:00
2018-02-22 15:43:48 +01:00
2017-07-21 07:42:22 +02:00
2017-10-18 09:35:39 +02:00
2018-02-22 15:43:55 +01:00
2017-07-21 07:42:22 +02:00
2018-02-17 13:21:15 +01:00
2017-07-12 15:01:02 +02:00
2018-02-17 13:21:18 +01:00
2017-07-21 07:42:22 +02:00
2017-03-15 10:02:43 +08:00
2017-01-26 08:24:37 +01:00
2017-10-12 11:51:26 +02:00
2016-10-11 15:06:30 -07:00
2016-10-07 18:46:30 -07:00
2017-02-23 17:44:35 +01:00
2017-06-14 15:06:01 +02:00
2018-03-03 10:23:21 +01:00
2017-05-08 07:47:54 +02:00
2017-12-20 10:07:18 +01:00
2016-10-08 11:06:08 -04:00
2017-10-12 11:51:19 +02:00