On Fri, Jan 19, 2018 at 02:23:16AM -0200, Raphael Carvalho wrote: > On Fri, Jan 19, 2018 at 1:57 AM, Dave Chinner <david@xxxxxxxxxxxxx> wrote: > > > > On Thu, Jan 18, 2018 at 06:57:41PM -0600, Goldwyn Rodrigues wrote: > > > From: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> > > > > > > Since we can return less than count in case of partial direct > > > writes, remove the ASSERT. > > > > > > Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> > > > --- > > > fs/xfs/xfs_file.c | 6 ------ > > > 1 file changed, 6 deletions(-) > > > > > > diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c > > > index 8601275cc5e6..8fc4dbf66910 100644 > > > --- a/fs/xfs/xfs_file.c > > > +++ b/fs/xfs/xfs_file.c > > > @@ -590,12 +590,6 @@ xfs_file_dio_aio_write( > > > ret = iomap_dio_rw(iocb, from, &xfs_iomap_ops, xfs_dio_write_end_io); > > > out: > > > xfs_iunlock(ip, iolock); > > > - > > > - /* > > > - * No fallback to buffered IO on errors for XFS, direct IO will either > > > - * complete fully or fail. > > > - */ > > > - ASSERT(ret < 0 || ret == count); > > > return ret; > > > } > > > > Acked-by: Dave Chinner <dchinner@xxxxxxxxxx> > > > Is this really correct? Yes. > Isn't this check with regards to DIO > submission? Yes, if there is an error during submission. But it also checked synchronous IO completion (i.e. error or bytes written), because iomap_dio_rw() waits for non-AIO DIO to complete and returns the IO completion status in that case. > The bytes written is returned in a different asynchronous > path due to AIO support, no?! That is correct. For AIO we'll get -EIOCBQUEUED here on successful submission. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx