Message ID | 20250327055706.3668207-1-chizhiling@163.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | iomap: Rename iomap_last_written_block to iomap_first_unchanged_block | expand |
On Thu, Mar 27, 2025 at 01:57:06PM +0800, Chi Zhiling wrote: > From: Chi Zhiling <chizhiling@kylinos.cn> > > This renames iomap_last_written_block() to iomap_first_unchanged_block() > to better reflect its actual behavior of finding the first unmodified > block after partial writes, improving code readability. Does it? I it used in the context of a write operation where uncached is not exactly well define. I'm not a native speaker, but I don't see an improvement here (then again I picked the current name, so I might be biassed). > +static inline loff_t iomap_first_unchanged_block(struct inode *inode, loff_t pos, Either way please avoid the overly long line.
On 2025/3/27 18:35, Christoph Hellwig wrote: > On Thu, Mar 27, 2025 at 01:57:06PM +0800, Chi Zhiling wrote: >> From: Chi Zhiling <chizhiling@kylinos.cn> >> >> This renames iomap_last_written_block() to iomap_first_unchanged_block() >> to better reflect its actual behavior of finding the first unmodified >> block after partial writes, improving code readability. > > Does it? I it used in the context of a write operation where uncached > is not exactly well define. I'm not a native speaker, but I don't see > an improvement here (then again I picked the current name, so I might be > biassed). Okay, actually 'last_written_block' also makes sense, it's just that it returns the end of the last written block, not the beginning thanks, Chi Zhiling
diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c index 5dd0922fe2d1..d4b0358015ab 100644 --- a/fs/xfs/xfs_iomap.c +++ b/fs/xfs/xfs_iomap.c @@ -1277,7 +1277,7 @@ xfs_buffered_write_iomap_end( return 0; /* Nothing to do if we've written the entire delalloc extent */ - start_byte = iomap_last_written_block(inode, offset, written); + start_byte = iomap_first_unchanged_block(inode, offset, written); end_byte = round_up(offset + length, i_blocksize(inode)); if (start_byte >= end_byte) return 0; diff --git a/include/linux/iomap.h b/include/linux/iomap.h index 2de7a5e7d67d..88d0da23426c 100644 --- a/include/linux/iomap.h +++ b/include/linux/iomap.h @@ -308,7 +308,7 @@ static inline const struct iomap *iomap_iter_srcmap(const struct iomap_iter *i) * If nothing was written, round @pos down to point at the first block in * the range, else round up to include the partially written block. */ -static inline loff_t iomap_last_written_block(struct inode *inode, loff_t pos, +static inline loff_t iomap_first_unchanged_block(struct inode *inode, loff_t pos, ssize_t written) { if (unlikely(!written))