Message ID | ac0b5e5778585f8d02b4abc355f185cba261b239.1681365596.git.ritesh.list@gmail.com |
---|---|
State | Not Applicable |
Headers | show |
Series | ext2: DIO to use iomap | expand |
On Thu, Apr 13, 2023 at 02:10:31PM +0530, Ritesh Harjani (IBM) wrote: > The next patch brings in the tracepoint patch for iomap DIO functions. > This is a small refactor change for having a single out path. > > Tested-by: Disha Goel <disgoel@linux.ibm.com> > Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com> IMHO this could've been part of the next patch instead of separate, but eh, whatever, looks good to me. Reviewed-by: Darrick J. Wong <djwong@kernel.org> --D > --- > fs/iomap/direct-io.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c > index 36ab1152dbea..5871956ee880 100644 > --- a/fs/iomap/direct-io.c > +++ b/fs/iomap/direct-io.c > @@ -679,11 +679,16 @@ iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, > unsigned int dio_flags, void *private, size_t done_before) > { > struct iomap_dio *dio; > + ssize_t ret = 0; > > dio = __iomap_dio_rw(iocb, iter, ops, dops, dio_flags, private, > done_before); > - if (IS_ERR_OR_NULL(dio)) > - return PTR_ERR_OR_ZERO(dio); > - return iomap_dio_complete(dio); > + if (IS_ERR_OR_NULL(dio)) { > + ret = PTR_ERR_OR_ZERO(dio); > + goto out; > + } > + ret = iomap_dio_complete(dio); > +out: > + return ret; > } > EXPORT_SYMBOL_GPL(iomap_dio_rw); > -- > 2.39.2 >
On Thu, Apr 13, 2023 at 07:35:30AM -0700, Darrick J. Wong wrote: > On Thu, Apr 13, 2023 at 02:10:31PM +0530, Ritesh Harjani (IBM) wrote: > > The next patch brings in the tracepoint patch for iomap DIO functions. > > This is a small refactor change for having a single out path. > > > > Tested-by: Disha Goel <disgoel@linux.ibm.com> > > Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com> > > IMHO this could've been part of the next patch instead of separate, but > eh, whatever, looks good to me. Yeah, without the next patch this is a bit pointless. And also a harder to review without seeing why it is done.
diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c index 36ab1152dbea..5871956ee880 100644 --- a/fs/iomap/direct-io.c +++ b/fs/iomap/direct-io.c @@ -679,11 +679,16 @@ iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, unsigned int dio_flags, void *private, size_t done_before) { struct iomap_dio *dio; + ssize_t ret = 0; dio = __iomap_dio_rw(iocb, iter, ops, dops, dio_flags, private, done_before); - if (IS_ERR_OR_NULL(dio)) - return PTR_ERR_OR_ZERO(dio); - return iomap_dio_complete(dio); + if (IS_ERR_OR_NULL(dio)) { + ret = PTR_ERR_OR_ZERO(dio); + goto out; + } + ret = iomap_dio_complete(dio); +out: + return ret; } EXPORT_SYMBOL_GPL(iomap_dio_rw);