diff options
| author | Joanne Koong <[email protected]> | 2025-07-10 13:33:27 +0000 |
|---|---|---|
| committer | Christian Brauner <[email protected]> | 2025-07-14 08:51:31 +0000 |
| commit | 40368a6acb95635824f6a45ec1de6233977309f3 (patch) | |
| tree | 1ca47c4bc24babc42af75e921ea73f1ed5a773d0 | |
| parent | iomap: pass more arguments using the iomap writeback context (diff) | |
| download | kernel-40368a6acb95635824f6a45ec1de6233977309f3.tar.gz kernel-40368a6acb95635824f6a45ec1de6233977309f3.zip | |
iomap: cleanup the pending writeback tracking in iomap_writepage_map_blocks
We don't care about the count of outstanding ioends, just if there is one.
Replace the count variable passed to iomap_writepage_map_blocks with a
boolean to make that more clear.
Signed-off-by: Joanne Koong <[email protected]>
[hch: rename the variable, update the commit message]
Signed-off-by: Christoph Hellwig <[email protected]>
Link: https://lore.kernel.org/[email protected]
Reviewed-by: Brian Foster <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Reviewed-by: Darrick J. Wong <[email protected]>
Signed-off-by: Christian Brauner <[email protected]>
| -rw-r--r-- | fs/iomap/buffered-io.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c index 77d44b691b81..93b2a90e6867 100644 --- a/fs/iomap/buffered-io.c +++ b/fs/iomap/buffered-io.c @@ -1750,7 +1750,7 @@ new_ioend: static int iomap_writepage_map_blocks(struct iomap_writepage_ctx *wpc, struct folio *folio, u64 pos, u64 end_pos, unsigned dirty_len, - unsigned *count) + bool *wb_pending) { int error; @@ -1778,7 +1778,7 @@ static int iomap_writepage_map_blocks(struct iomap_writepage_ctx *wpc, error = iomap_add_to_ioend(wpc, folio, pos, end_pos, map_len); if (!error) - (*count)++; + *wb_pending = true; break; } dirty_len -= map_len; @@ -1865,7 +1865,7 @@ static int iomap_writepage_map(struct iomap_writepage_ctx *wpc, u64 pos = folio_pos(folio); u64 end_pos = pos + folio_size(folio); u64 end_aligned = 0; - unsigned count = 0; + bool wb_pending = false; int error = 0; u32 rlen; @@ -1909,13 +1909,13 @@ static int iomap_writepage_map(struct iomap_writepage_ctx *wpc, end_aligned = round_up(end_pos, i_blocksize(inode)); while ((rlen = iomap_find_dirty_range(folio, &pos, end_aligned))) { error = iomap_writepage_map_blocks(wpc, folio, pos, end_pos, - rlen, &count); + rlen, &wb_pending); if (error) break; pos += rlen; } - if (count) + if (wb_pending) wpc->nr_folios++; /* @@ -1937,7 +1937,7 @@ static int iomap_writepage_map(struct iomap_writepage_ctx *wpc, if (atomic_dec_and_test(&ifs->write_bytes_pending)) folio_end_writeback(folio); } else { - if (!count) + if (!wb_pending) folio_end_writeback(folio); } mapping_set_error(inode->i_mapping, error); |
