On Tue, Mar 19, 2024 at 09:11:02AM +0800, Zhang Yi wrote: > From: Zhang Yi <yi.zhang@xxxxxxxxxx> > > Since iomap_write_end() can never return a partial write length, the > comperation between written, copied and bytes becomes useless, just comparison > merge them with the unwritten branch. > > Signed-off-by: Zhang Yi <yi.zhang@xxxxxxxxxx> > Reviewed-by: Christoph Hellwig <hch@xxxxxx> With the spelling error fixed, Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > fs/iomap/buffered-io.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c > index 004673ea8bc1..f2fb89056259 100644 > --- a/fs/iomap/buffered-io.c > +++ b/fs/iomap/buffered-io.c > @@ -937,11 +937,6 @@ static loff_t iomap_write_iter(struct iomap_iter *iter, struct iov_iter *i) > > if (old_size < pos) > pagecache_isize_extended(iter->inode, old_size, pos); > - if (written < bytes) > - iomap_write_failed(iter->inode, pos + written, > - bytes - written); > - if (unlikely(copied != written)) > - iov_iter_revert(i, copied - written); > > cond_resched(); > if (unlikely(written == 0)) { > @@ -951,6 +946,9 @@ static loff_t iomap_write_iter(struct iomap_iter *iter, struct iov_iter *i) > * halfway through, might be a race with munmap, > * might be severe memory pressure. > */ > + iomap_write_failed(iter->inode, pos, bytes); > + iov_iter_revert(i, copied); > + > if (chunk > PAGE_SIZE) > chunk /= 2; > if (copied) { > -- > 2.39.2 > >