From: Carlos Maiolino Subject: Re: [PATCH v7 21/22] xfs: minimal conversion to errseq_t writeback error reporting Date: Mon, 26 Jun 2017 15:40:24 +0200 Message-ID: <20170626134024.mhnzoz5mjfrzkekd@eorzea.usersys.redhat.com> References: <20170616193427.13955-1-jlayton@redhat.com> <20170616193427.13955-22-jlayton@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Andrew Morton , Al Viro , Jan Kara , tytso@mit.edu, axboe@kernel.dk, mawilcox@microsoft.com, ross.zwisler@linux.intel.com, corbet@lwn.net, Chris Mason , Josef Bacik , David Sterba , "Darrick J . Wong" , Eryu Guan , David Howells , Christoph Hellwig , linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-block@vger.kernel.org To: Jeff Layton Return-path: Content-Disposition: inline In-Reply-To: <20170616193427.13955-22-jlayton@redhat.com> Sender: owner-linux-mm@kvack.org List-Id: linux-ext4.vger.kernel.org On Fri, Jun 16, 2017 at 03:34:26PM -0400, Jeff Layton wrote: > Just check and advance the data errseq_t in struct file before > before returning from fsync on normal files. Internal filemap_* > callers are left as-is. > Looks good. Reviewed-by: Carlos Maiolino > Signed-off-by: Jeff Layton > --- > fs/xfs/xfs_file.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c > index 5fb5a0958a14..bc3b1575e8db 100644 > --- a/fs/xfs/xfs_file.c > +++ b/fs/xfs/xfs_file.c > @@ -134,7 +134,7 @@ xfs_file_fsync( > struct inode *inode = file->f_mapping->host; > struct xfs_inode *ip = XFS_I(inode); > struct xfs_mount *mp = ip->i_mount; > - int error = 0; > + int error = 0, err2; > int log_flushed = 0; > xfs_lsn_t lsn = 0; > > @@ -142,10 +142,12 @@ xfs_file_fsync( > > error = filemap_write_and_wait_range(inode->i_mapping, start, end); > if (error) > - return error; > + goto out; > > - if (XFS_FORCED_SHUTDOWN(mp)) > - return -EIO; > + if (XFS_FORCED_SHUTDOWN(mp)) { > + error = -EIO; > + goto out; > + } > > xfs_iflags_clear(ip, XFS_ITRUNCATED); > > @@ -197,6 +199,11 @@ xfs_file_fsync( > mp->m_logdev_targp == mp->m_ddev_targp) > xfs_blkdev_issue_flush(mp->m_ddev_targp); > > +out: > + err2 = filemap_report_wb_err(file); > + if (!error) > + error = err2; > + > return error; > } > > -- > 2.13.0 > -- Carlos -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org