btrfs: rename EXTENT_BUFFER_NO_CHECK to EXTENT_BUFFER_ZONED_ZEROOUT

EXTENT_BUFFER_ZONED_ZEROOUT better describes the state of the extent buffer,
namely it is written as all zeros. This is needed in zoned mode, to
preserve I/O ordering.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Johannes Thumshirn 2023-11-23 07:47:15 -08:00 committed by David Sterba
parent 738290c056
commit cbf44cd93d
5 changed files with 6 additions and 5 deletions

View File

@ -254,7 +254,7 @@ blk_status_t btree_csum_one_bio(struct btrfs_bio *bbio)
if (WARN_ON_ONCE(bbio->bio.bi_iter.bi_size != eb->len)) if (WARN_ON_ONCE(bbio->bio.bi_iter.bi_size != eb->len))
return BLK_STS_IOERR; return BLK_STS_IOERR;
if (test_bit(EXTENT_BUFFER_NO_CHECK, &eb->bflags)) { if (test_bit(EXTENT_BUFFER_ZONED_ZEROOUT, &eb->bflags)) {
WARN_ON_ONCE(found_start != 0); WARN_ON_ONCE(found_start != 0);
return BLK_STS_OK; return BLK_STS_OK;
} }

View File

@ -5061,7 +5061,7 @@ btrfs_init_new_buffer(struct btrfs_trans_handle *trans, struct btrfs_root *root,
__btrfs_tree_lock(buf, nest); __btrfs_tree_lock(buf, nest);
btrfs_clear_buffer_dirty(trans, buf); btrfs_clear_buffer_dirty(trans, buf);
clear_bit(EXTENT_BUFFER_STALE, &buf->bflags); clear_bit(EXTENT_BUFFER_STALE, &buf->bflags);
clear_bit(EXTENT_BUFFER_NO_CHECK, &buf->bflags); clear_bit(EXTENT_BUFFER_ZONED_ZEROOUT, &buf->bflags);
set_extent_buffer_uptodate(buf); set_extent_buffer_uptodate(buf);

View File

@ -4152,7 +4152,7 @@ static void __write_extent_buffer(const struct extent_buffer *eb,
/* For unmapped (dummy) ebs, no need to check their uptodate status. */ /* For unmapped (dummy) ebs, no need to check their uptodate status. */
const bool check_uptodate = !test_bit(EXTENT_BUFFER_UNMAPPED, &eb->bflags); const bool check_uptodate = !test_bit(EXTENT_BUFFER_UNMAPPED, &eb->bflags);
WARN_ON(test_bit(EXTENT_BUFFER_NO_CHECK, &eb->bflags)); WARN_ON(test_bit(EXTENT_BUFFER_ZONED_ZEROOUT, &eb->bflags));
if (check_eb_range(eb, start, len)) if (check_eb_range(eb, start, len))
return; return;

View File

@ -28,7 +28,8 @@ enum {
EXTENT_BUFFER_IN_TREE, EXTENT_BUFFER_IN_TREE,
/* write IO error */ /* write IO error */
EXTENT_BUFFER_WRITE_ERR, EXTENT_BUFFER_WRITE_ERR,
EXTENT_BUFFER_NO_CHECK, /* Indicate the extent buffer is written zeroed out (for zoned) */
EXTENT_BUFFER_ZONED_ZEROOUT,
/* Indicate that extent buffer pages a being read */ /* Indicate that extent buffer pages a being read */
EXTENT_BUFFER_READING, EXTENT_BUFFER_READING,
}; };

View File

@ -1716,7 +1716,7 @@ void btrfs_redirty_list_add(struct btrfs_transaction *trans,
ASSERT(!test_bit(EXTENT_BUFFER_DIRTY, &eb->bflags)); ASSERT(!test_bit(EXTENT_BUFFER_DIRTY, &eb->bflags));
memzero_extent_buffer(eb, 0, eb->len); memzero_extent_buffer(eb, 0, eb->len);
set_bit(EXTENT_BUFFER_NO_CHECK, &eb->bflags); set_bit(EXTENT_BUFFER_ZONED_ZEROOUT, &eb->bflags);
set_extent_buffer_dirty(eb); set_extent_buffer_dirty(eb);
set_extent_bit(&trans->dirty_pages, eb->start, eb->start + eb->len - 1, set_extent_bit(&trans->dirty_pages, eb->start, eb->start + eb->len - 1,
EXTENT_DIRTY, NULL); EXTENT_DIRTY, NULL);