Unverified Commit e1f453d4 authored by Zhang Yi's avatar Zhang Yi Committed by Christian Brauner
Browse files

iomap: do some small logical cleanup in buffered write



Since iomap_write_end() can never return a partial write length, the
comparison between written, copied and bytes becomes useless, just
merge them with the unwritten branch.

Signed-off-by: default avatarZhang Yi <yi.zhang@huawei.com>
Link: https://lore.kernel.org/r/20240320110548.2200662-10-yi.zhang@huaweicloud.com


Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 815f4b63
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -975,11 +975,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)) {
@@ -989,6 +984,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) {