Message ID | 20170308162934.21989-6-jlayton@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Mar 08, 2017 at 11:29:30AM -0500, Jeff Layton wrote: > In order to get proper error codes from fsync, we must set an error in > the mapping range when writeback fails. > > Signed-off-by: Jeff Layton <jlayton@redhat.com> Yep, paired with the changes to filmap_write_and_wait() and filemap_write_and_wait_range(), this seems fine. Reviewed-by: Ross Zwisler <ross.zwisler@linux.intel.com>
diff --git a/fs/dax.c b/fs/dax.c index de622d4282a6..a601137286ed 100644 --- a/fs/dax.c +++ b/fs/dax.c @@ -892,8 +892,10 @@ int dax_writeback_mapping_range(struct address_space *mapping, ret = dax_writeback_one(bdev, mapping, indices[i], pvec.pages[i]); - if (ret < 0) + if (ret < 0) { + mapping_set_error(mapping, ret); return ret; + } } } return 0;
In order to get proper error codes from fsync, we must set an error in the mapping range when writeback fails. Signed-off-by: Jeff Layton <jlayton@redhat.com> --- fs/dax.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)