From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ross Zwisler Date: Mon, 24 Apr 2017 13:16:04 -0600 Subject: [Cluster-devel] [PATCH v3 06/20] dax: set errors in mapping when writeback fails In-Reply-To: <20170424132259.8680-7-jlayton@redhat.com> References: <20170424132259.8680-1-jlayton@redhat.com> <20170424132259.8680-7-jlayton@redhat.com> Message-ID: <20170424191604.GA2884@linux.intel.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On Mon, Apr 24, 2017 at 09:22:45AM -0400, 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 Works fine in some error injection testing. Tested-by: Ross Zwisler > --- > fs/dax.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/fs/dax.c b/fs/dax.c > index 85abd741253d..9b6b04030c3f 100644 > --- a/fs/dax.c > +++ b/fs/dax.c > @@ -901,8 +901,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; > -- > 2.9.3 >