* [PATCH 0/3] btrfs-progs: minor cleanups related to extent buffer
@ 2025-05-26 4:02 Qu Wenruo
2025-05-26 4:02 ` [PATCH 1/3] btrfs-progs: remove the unused fs_info parameter for btrfs_csum_data() Qu Wenruo
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Qu Wenruo @ 2025-05-26 4:02 UTC (permalink / raw)
To: linux-btrfs
The first patch is a cleanup to remove the unused @fs_info parameter
from btrfs_csum_data().
The second patch uses btrfs_csum_data() directly to calculate super
block checksum and avoid use extent buffer helpers.
The final patch enhance btrfs_print_leaf() to be called with temporary
extent buffers in mkfs/convert, which have no eb->leaf populated.
Qu Wenruo (3):
btrfs-progs: remove the unused fs_info parameter for btrfs_csum_data()
btrfs: mkfs: do not use extent buffer to writeback super block
btrfs-progs: enhance btrfs_print_leaf() to handle NULL fs_info
check/main.c | 2 +-
cmds/rescue-chunk-recover.c | 2 +-
cmds/rescue-fix-data-checksum.c | 4 ++--
convert/common.c | 2 +-
convert/main.c | 2 +-
kernel-shared/ctree.c | 4 +---
kernel-shared/disk-io.c | 12 +++++-------
kernel-shared/disk-io.h | 3 +--
kernel-shared/file-item.c | 3 +--
kernel-shared/print-tree.c | 34 +++++++++++++++++----------------
mkfs/common.c | 9 +++------
tune/change-csum.c | 7 +++----
12 files changed, 38 insertions(+), 46 deletions(-)
--
2.49.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/3] btrfs-progs: remove the unused fs_info parameter for btrfs_csum_data()
2025-05-26 4:02 [PATCH 0/3] btrfs-progs: minor cleanups related to extent buffer Qu Wenruo
@ 2025-05-26 4:02 ` Qu Wenruo
2025-05-30 13:32 ` David Sterba
2025-05-26 4:02 ` [PATCH 2/3] btrfs: mkfs: do not use extent buffer to writeback super block Qu Wenruo
` (2 subsequent siblings)
3 siblings, 1 reply; 6+ messages in thread
From: Qu Wenruo @ 2025-05-26 4:02 UTC (permalink / raw)
To: linux-btrfs
The parameter @fs_info is not utilized at all, and there are already
several call sites passing NULL as @fs_info.
And there is no counter-part in kernel (we use crypto_shash_* interface
instead), there is no need to keep the parameter list the same.
So just remove the unused parameter.
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
check/main.c | 2 +-
cmds/rescue-chunk-recover.c | 2 +-
cmds/rescue-fix-data-checksum.c | 4 ++--
convert/common.c | 2 +-
convert/main.c | 2 +-
kernel-shared/disk-io.c | 12 +++++-------
kernel-shared/disk-io.h | 3 +--
kernel-shared/file-item.c | 3 +--
kernel-shared/print-tree.c | 4 ++--
tune/change-csum.c | 7 +++----
10 files changed, 18 insertions(+), 23 deletions(-)
diff --git a/check/main.c b/check/main.c
index bf250c41eb07..b78eb59d0c50 100644
--- a/check/main.c
+++ b/check/main.c
@@ -5831,7 +5831,7 @@ static int check_extent_csums(struct btrfs_root *root, u64 bytenr,
while (data_checked < read_len) {
tmp = offset + data_checked;
- btrfs_csum_data(gfs_info, csum_type, data + tmp,
+ btrfs_csum_data(csum_type, data + tmp,
result, gfs_info->sectorsize);
csum_offset = leaf_offset +
diff --git a/cmds/rescue-chunk-recover.c b/cmds/rescue-chunk-recover.c
index 60a705817c80..1a5a2a39c640 100644
--- a/cmds/rescue-chunk-recover.c
+++ b/cmds/rescue-chunk-recover.c
@@ -1896,7 +1896,7 @@ static int check_one_csum(int fd, u64 start, u32 len, u32 tree_csum,
}
ret = 0;
put_unaligned_le32(tree_csum, expected_csum);
- btrfs_csum_data(NULL, csum_type, (u8 *)data, result, len);
+ btrfs_csum_data(csum_type, (u8 *)data, result, len);
if (memcmp(result, expected_csum, csum_size) != 0)
ret = 1;
out:
diff --git a/cmds/rescue-fix-data-checksum.c b/cmds/rescue-fix-data-checksum.c
index 23b59fffe2f7..0e3b5cdbb217 100644
--- a/cmds/rescue-fix-data-checksum.c
+++ b/cmds/rescue-fix-data-checksum.c
@@ -135,7 +135,7 @@ static int verify_one_data_block(struct btrfs_fs_info *fs_info,
break;
}
/* Verify the data checksum. */
- btrfs_csum_data(fs_info, fs_info->csum_type, buf, csum, blocksize);
+ btrfs_csum_data(fs_info->csum_type, buf, csum, blocksize);
read_extent_buffer(leaf, csum_expected, leaf_offset, csum_size);
if (memcmp(csum_expected, csum, csum_size) != 0) {
ret = add_corrupted_block(fs_info, logical, mirror, num_mirrors);
@@ -364,7 +364,7 @@ static int update_csum_item(struct btrfs_fs_info *fs_info, u64 logical,
btrfs_abort_transaction(trans, ret);
goto out;
}
- btrfs_csum_data(fs_info, fs_info->csum_type, buf, csum, fs_info->sectorsize);
+ btrfs_csum_data(fs_info->csum_type, buf, csum, fs_info->sectorsize);
write_extent_buffer(path.nodes[0], csum, (unsigned long)citem, fs_info->csum_size);
btrfs_release_path(&path);
ret = btrfs_commit_transaction(trans, csum_root);
diff --git a/convert/common.c b/convert/common.c
index 2cbe45180ce9..8c64c2ce80ff 100644
--- a/convert/common.c
+++ b/convert/common.c
@@ -80,7 +80,7 @@ static inline int write_temp_super(int fd, struct btrfs_super_block *sb,
u16 csum_type = btrfs_super_csum_type(sb);
int ret;
- btrfs_csum_data(NULL, csum_type, (u8 *)sb + BTRFS_CSUM_SIZE,
+ btrfs_csum_data(csum_type, (u8 *)sb + BTRFS_CSUM_SIZE,
result, BTRFS_SUPER_INFO_SIZE - BTRFS_CSUM_SIZE);
memcpy(&sb->csum[0], result, BTRFS_CSUM_SIZE);
ret = pwrite(fd, sb, BTRFS_SUPER_INFO_SIZE, sb_bytenr);
diff --git a/convert/main.c b/convert/main.c
index 0dc75c9eb1c6..8784192fefc5 100644
--- a/convert/main.c
+++ b/convert/main.c
@@ -1060,7 +1060,7 @@ static int migrate_super_block(int fd, u64 old_bytenr)
BUG_ON(btrfs_super_bytenr(&super) != old_bytenr);
btrfs_set_super_bytenr(&super, BTRFS_SUPER_INFO_OFFSET);
- btrfs_csum_data(NULL, btrfs_super_csum_type(&super),
+ btrfs_csum_data(btrfs_super_csum_type(&super),
(u8 *)&super + BTRFS_CSUM_SIZE, result,
BTRFS_SUPER_INFO_SIZE - BTRFS_CSUM_SIZE);
memcpy(&super.csum[0], result, BTRFS_CSUM_SIZE);
diff --git a/kernel-shared/disk-io.c b/kernel-shared/disk-io.c
index b7d478007ae8..95e1504fd07e 100644
--- a/kernel-shared/disk-io.c
+++ b/kernel-shared/disk-io.c
@@ -162,8 +162,7 @@ static void print_tree_block_error(struct btrfs_fs_info *fs_info,
}
}
-int btrfs_csum_data(struct btrfs_fs_info *fs_info, u16 csum_type, const u8 *data,
- u8 *out, size_t len)
+int btrfs_csum_data(u16 csum_type, const u8 *data, u8 *out, size_t len)
{
memset(out, 0, BTRFS_CSUM_SIZE);
@@ -191,8 +190,7 @@ static int __csum_tree_block_size(struct extent_buffer *buf, u16 csum_size,
u32 len;
len = buf->len - BTRFS_CSUM_SIZE;
- btrfs_csum_data(buf->fs_info, csum_type, (u8 *)buf->data + BTRFS_CSUM_SIZE,
- result, len);
+ btrfs_csum_data(csum_type, (u8 *)buf->data + BTRFS_CSUM_SIZE, result, len);
if (verify) {
if (buf->fs_info && buf->fs_info->skip_csum_check) {
@@ -1770,7 +1768,7 @@ int btrfs_check_super(struct btrfs_super_block *sb, unsigned sbflags)
}
csum_size = btrfs_super_csum_size(sb);
- btrfs_csum_data(NULL, csum_type, (u8 *)sb + BTRFS_CSUM_SIZE,
+ btrfs_csum_data(csum_type, (u8 *)sb + BTRFS_CSUM_SIZE,
result, BTRFS_SUPER_INFO_SIZE - BTRFS_CSUM_SIZE);
if (memcmp(result, sb->csum, csum_size)) {
@@ -2028,7 +2026,7 @@ static int write_dev_supers(struct btrfs_fs_info *fs_info,
}
if (fs_info->super_bytenr != BTRFS_SUPER_INFO_OFFSET) {
btrfs_set_super_bytenr(sb, fs_info->super_bytenr);
- btrfs_csum_data(fs_info, csum_type, (u8 *)sb + BTRFS_CSUM_SIZE,
+ btrfs_csum_data(csum_type, (u8 *)sb + BTRFS_CSUM_SIZE,
result, BTRFS_SUPER_INFO_SIZE - BTRFS_CSUM_SIZE);
memcpy(&sb->csum[0], result, BTRFS_CSUM_SIZE);
@@ -2061,7 +2059,7 @@ static int write_dev_supers(struct btrfs_fs_info *fs_info,
btrfs_set_super_bytenr(sb, bytenr);
- btrfs_csum_data(fs_info, csum_type, (u8 *)sb + BTRFS_CSUM_SIZE,
+ btrfs_csum_data(csum_type, (u8 *)sb + BTRFS_CSUM_SIZE,
result, BTRFS_SUPER_INFO_SIZE - BTRFS_CSUM_SIZE);
memcpy(&sb->csum[0], result, BTRFS_CSUM_SIZE);
diff --git a/kernel-shared/disk-io.h b/kernel-shared/disk-io.h
index f57bc1b18ad1..dd2dabdf3731 100644
--- a/kernel-shared/disk-io.h
+++ b/kernel-shared/disk-io.h
@@ -223,8 +223,7 @@ void btrfs_mark_buffer_dirty(struct extent_buffer *buf);
int btrfs_buffer_uptodate(struct extent_buffer *buf, u64 parent_transid,
int atomic);
int btrfs_set_buffer_uptodate(struct extent_buffer *buf);
-int btrfs_csum_data(struct btrfs_fs_info *fs_info, u16 csum_type, const u8 *data,
- u8 *out, size_t len);
+int btrfs_csum_data(u16 csum_type, const u8 *data, u8 *out, size_t len);
int btrfs_open_device(struct btrfs_device *dev);
int csum_tree_block_size(struct extent_buffer *buf, u16 csum_sectorsize,
diff --git a/kernel-shared/file-item.c b/kernel-shared/file-item.c
index 503ad657c661..6b7c47ce642b 100644
--- a/kernel-shared/file-item.c
+++ b/kernel-shared/file-item.c
@@ -298,8 +298,7 @@ csum:
item = (struct btrfs_csum_item *)((unsigned char *)item +
csum_offset * csum_size);
found:
- btrfs_csum_data(root->fs_info, csum_type, (u8 *)data, csum_result,
- sectorsize);
+ btrfs_csum_data(csum_type, (u8 *)data, csum_result, sectorsize);
write_extent_buffer(leaf, csum_result, (unsigned long)item,
csum_size);
btrfs_mark_buffer_dirty(path->nodes[0]);
diff --git a/kernel-shared/print-tree.c b/kernel-shared/print-tree.c
index 06c50ad8db09..6ed1191948d8 100644
--- a/kernel-shared/print-tree.c
+++ b/kernel-shared/print-tree.c
@@ -1392,7 +1392,7 @@ static void print_header_info(struct extent_buffer *eb, unsigned int mode)
printf("%02hhx", (int)(eb->data[i]));
printf("\n");
memset(csum, 0, sizeof(csum));
- btrfs_csum_data(fs_info, btrfs_super_csum_type(fs_info->super_copy),
+ btrfs_csum_data(btrfs_super_csum_type(fs_info->super_copy),
(u8 *)eb->data + BTRFS_CSUM_SIZE,
csum, fs_info->nodesize - BTRFS_CSUM_SIZE);
printf("checksum calced ");
@@ -1902,7 +1902,7 @@ static int check_csum_sblock(void *sb, int csum_size, u16 csum_type)
{
u8 result[BTRFS_CSUM_SIZE];
- btrfs_csum_data(NULL, csum_type, (u8 *)sb + BTRFS_CSUM_SIZE,
+ btrfs_csum_data(csum_type, (u8 *)sb + BTRFS_CSUM_SIZE,
result, BTRFS_SUPER_INFO_SIZE - BTRFS_CSUM_SIZE);
return !memcmp(sb, result, csum_size);
diff --git a/tune/change-csum.c b/tune/change-csum.c
index 46aa96237960..1efb6fd60758 100644
--- a/tune/change-csum.c
+++ b/tune/change-csum.c
@@ -158,8 +158,7 @@ static int read_verify_one_data_sector(struct btrfs_fs_info *fs_info,
error("failed to read logical %llu: %m", logical);
continue;
}
- btrfs_csum_data(fs_info, fs_info->csum_type, data_buf, csum_has,
- sectorsize);
+ btrfs_csum_data(fs_info->csum_type, data_buf, csum_has, sectorsize);
if (memcmp(csum_has, old_csums, fs_info->csum_size) == 0) {
found_good = true;
break;
@@ -577,9 +576,9 @@ static int rewrite_tree_block_csum(struct btrfs_fs_info *fs_info, u64 logical,
}
/* Verify the csum first. */
- btrfs_csum_data(fs_info, fs_info->csum_type, (u8 *)eb->data + BTRFS_CSUM_SIZE,
+ btrfs_csum_data(fs_info->csum_type, (u8 *)eb->data + BTRFS_CSUM_SIZE,
result_old, fs_info->nodesize - BTRFS_CSUM_SIZE);
- btrfs_csum_data(fs_info, new_csum_type, (u8 *)eb->data + BTRFS_CSUM_SIZE,
+ btrfs_csum_data(new_csum_type, (u8 *)eb->data + BTRFS_CSUM_SIZE,
result_new, fs_info->nodesize - BTRFS_CSUM_SIZE);
/* Matches old csum, rewrite. */
--
2.49.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/3] btrfs: mkfs: do not use extent buffer to writeback super block
2025-05-26 4:02 [PATCH 0/3] btrfs-progs: minor cleanups related to extent buffer Qu Wenruo
2025-05-26 4:02 ` [PATCH 1/3] btrfs-progs: remove the unused fs_info parameter for btrfs_csum_data() Qu Wenruo
@ 2025-05-26 4:02 ` Qu Wenruo
2025-05-26 4:02 ` [PATCH 3/3] btrfs-progs: enhance btrfs_print_leaf() to handle NULL fs_info Qu Wenruo
2025-05-30 13:43 ` [PATCH 0/3] btrfs-progs: minor cleanups related to extent buffer David Sterba
3 siblings, 0 replies; 6+ messages in thread
From: Qu Wenruo @ 2025-05-26 4:02 UTC (permalink / raw)
To: linux-btrfs
There is a long history that we used extent_buffer helpers to modify a
superblock, but we're moving out of that behavior, and migrate to use
the on stack helpers to modify super blocks.
In the function make_btrfs() we use a dummy extent buffer just to
calculate the checksum for the super block.
We do not need such workaround, and can manually call btrfs_csum_data()
on @super, and pass @super directly to sbwrite(), completely avoid the
need of a dummy extent buffer.
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
mkfs/common.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/mkfs/common.c b/mkfs/common.c
index bb5a2ad46f4f..f785d8962a06 100644
--- a/mkfs/common.c
+++ b/mkfs/common.c
@@ -754,12 +754,9 @@ int make_btrfs(int fd, struct btrfs_mkfs_config *cfg)
}
/* and write out the super block */
- memset(buf->data, 0, BTRFS_SUPER_INFO_SIZE);
- memcpy(buf->data, &super, sizeof(super));
- buf->len = BTRFS_SUPER_INFO_SIZE;
- csum_tree_block_size(buf, btrfs_csum_type_size(cfg->csum_type), 0,
- cfg->csum_type);
- ret = sbwrite(fd, buf->data, BTRFS_SUPER_INFO_OFFSET);
+ btrfs_csum_data(cfg->csum_type, (u8 *)&super + BTRFS_CSUM_SIZE,
+ super.csum, sizeof(super) - BTRFS_CSUM_SIZE);
+ ret = sbwrite(fd, &super, BTRFS_SUPER_INFO_OFFSET);
if (ret != BTRFS_SUPER_INFO_SIZE) {
ret = (ret < 0 ? -errno : -EIO);
goto out;
--
2.49.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/3] btrfs-progs: enhance btrfs_print_leaf() to handle NULL fs_info
2025-05-26 4:02 [PATCH 0/3] btrfs-progs: minor cleanups related to extent buffer Qu Wenruo
2025-05-26 4:02 ` [PATCH 1/3] btrfs-progs: remove the unused fs_info parameter for btrfs_csum_data() Qu Wenruo
2025-05-26 4:02 ` [PATCH 2/3] btrfs: mkfs: do not use extent buffer to writeback super block Qu Wenruo
@ 2025-05-26 4:02 ` Qu Wenruo
2025-05-30 13:43 ` [PATCH 0/3] btrfs-progs: minor cleanups related to extent buffer David Sterba
3 siblings, 0 replies; 6+ messages in thread
From: Qu Wenruo @ 2025-05-26 4:02 UTC (permalink / raw)
To: linux-btrfs
For mkfs and convert, we need to create a temporary fs without an
fs_info.
This makes debugging much harder that we can not use btrfs_print_leaf()
to print the temporary tree blocks.
There are only two things causing problems for btrfs_print_leaf() if
eb->fs_info is NULL:
- print_header_info()
Which needs to grab the checksum type from eb->fs_info.
This can be avoided by completely skipping checksum output if
eb->fs_info is NULL.
- btrfs_leaf_free_space()
Which have two BUG_ON()s checking eb->fs_info, and finally calling
BTRFS_LEAF_DATA_SIZE().
Which can be avoided by removing the two BUG_ON()s, and use
__BTRFS_LEAF_DATA_SIZE(eb->len) to grab the same leaf data size.
Thankfully all call sites inside mkfs and convert are setting eb->len
to nodesize correctly.
- __btrfs_print_leaf()
Which calls BTRFS_LEAF_DATA_SIZE(eb->fs_info).
Can be avoided by the same method above.
With those changes, we can call btrfs_print_leaf() inside a debugger
for temporary fses created by mkfs and convert.
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
kernel-shared/ctree.c | 4 +---
kernel-shared/print-tree.c | 32 +++++++++++++++++---------------
2 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/kernel-shared/ctree.c b/kernel-shared/ctree.c
index f90de606e7b1..7815101b2195 100644
--- a/kernel-shared/ctree.c
+++ b/kernel-shared/ctree.c
@@ -1888,9 +1888,7 @@ int btrfs_leaf_free_space(const struct extent_buffer *leaf)
u32 leaf_data_size;
int ret;
- BUG_ON(!leaf->fs_info);
- BUG_ON(leaf->fs_info->nodesize != leaf->len);
- leaf_data_size = BTRFS_LEAF_DATA_SIZE(leaf->fs_info);
+ leaf_data_size = __BTRFS_LEAF_DATA_SIZE(leaf->len);
ret = leaf_data_size - leaf_space_used(leaf, 0 ,nritems);
if (ret < 0) {
printk("leaf free space ret %d, leaf data size %u, used %d nritems %d\n",
diff --git a/kernel-shared/print-tree.c b/kernel-shared/print-tree.c
index 6ed1191948d8..1ca2cb90273e 100644
--- a/kernel-shared/print-tree.c
+++ b/kernel-shared/print-tree.c
@@ -1345,7 +1345,7 @@ static void print_header_info(struct extent_buffer *eb, unsigned int mode)
u8 backref_rev;
char csum_str[2 * BTRFS_CSUM_SIZE + 8 /* strlen(" csum 0x") */ + 1];
int i;
- int csum_size = fs_info->csum_size;
+ int csum_size = fs_info ? fs_info->csum_size : 0;
flags = btrfs_header_flags(eb) & ~BTRFS_BACKREF_REV_MASK;
backref_rev = btrfs_header_flags(eb) >> BTRFS_BACKREF_REV_SHIFT;
@@ -1387,18 +1387,20 @@ static void print_header_info(struct extent_buffer *eb, unsigned int mode)
csum_str);
#if EXPERIMENTAL
- printf("checksum stored ");
- for (i = 0; i < csum_size; i++)
- printf("%02hhx", (int)(eb->data[i]));
- printf("\n");
- memset(csum, 0, sizeof(csum));
- btrfs_csum_data(btrfs_super_csum_type(fs_info->super_copy),
- (u8 *)eb->data + BTRFS_CSUM_SIZE,
- csum, fs_info->nodesize - BTRFS_CSUM_SIZE);
- printf("checksum calced ");
- for (i = 0; i < csum_size; i++)
- printf("%02hhx", (int)(csum[i]));
- printf("\n");
+ if (fs_info) {
+ printf("checksum stored ");
+ for (i = 0; i < csum_size; i++)
+ printf("%02hhx", (int)(eb->data[i]));
+ printf("\n");
+ memset(csum, 0, sizeof(csum));
+ btrfs_csum_data(btrfs_super_csum_type(fs_info->super_copy),
+ (u8 *)eb->data + BTRFS_CSUM_SIZE,
+ csum, fs_info->nodesize - BTRFS_CSUM_SIZE);
+ printf("checksum calced ");
+ for (i = 0; i < csum_size; i++)
+ printf("%02hhx", (int)(csum[i]));
+ printf("\n");
+ }
#endif
print_uuids(eb);
@@ -1478,10 +1480,10 @@ static void print_dev_replace_item(struct extent_buffer *eb, struct btrfs_dev_re
void __btrfs_print_leaf(struct extent_buffer *eb, unsigned int mode)
{
struct btrfs_disk_key disk_key;
- u32 leaf_data_size = BTRFS_LEAF_DATA_SIZE(eb->fs_info);
+ u32 leaf_data_size = __BTRFS_LEAF_DATA_SIZE(eb->len);
u32 i;
u32 nr;
- const bool print_csum_items = (mode & BTRFS_PRINT_TREE_CSUM_ITEMS);
+ const bool print_csum_items = (mode & BTRFS_PRINT_TREE_CSUM_ITEMS) && eb->fs_info;
print_header_info(eb, mode);
nr = btrfs_header_nritems(eb);
--
2.49.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/3] btrfs-progs: remove the unused fs_info parameter for btrfs_csum_data()
2025-05-26 4:02 ` [PATCH 1/3] btrfs-progs: remove the unused fs_info parameter for btrfs_csum_data() Qu Wenruo
@ 2025-05-30 13:32 ` David Sterba
0 siblings, 0 replies; 6+ messages in thread
From: David Sterba @ 2025-05-30 13:32 UTC (permalink / raw)
To: Qu Wenruo; +Cc: linux-btrfs
On Mon, May 26, 2025 at 01:32:35PM +0930, Qu Wenruo wrote:
> The parameter @fs_info is not utilized at all, and there are already
> several call sites passing NULL as @fs_info.
>
> And there is no counter-part in kernel (we use crypto_shash_* interface
> instead), there is no need to keep the parameter list the same.
>
> So just remove the unused parameter.
This is a bit unfortunate, I need to fs_info parameter for checksumming
functions for the authenticated hashes, I have a prototype and work on
it in spare time.
I'll probably apply this cleanup as I don't have ETA for the other
patchset and some things are still not finalized. It may be feasible to
pass the key context from the global config and not as parameter.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/3] btrfs-progs: minor cleanups related to extent buffer
2025-05-26 4:02 [PATCH 0/3] btrfs-progs: minor cleanups related to extent buffer Qu Wenruo
` (2 preceding siblings ...)
2025-05-26 4:02 ` [PATCH 3/3] btrfs-progs: enhance btrfs_print_leaf() to handle NULL fs_info Qu Wenruo
@ 2025-05-30 13:43 ` David Sterba
3 siblings, 0 replies; 6+ messages in thread
From: David Sterba @ 2025-05-30 13:43 UTC (permalink / raw)
To: Qu Wenruo; +Cc: linux-btrfs
On Mon, May 26, 2025 at 01:32:34PM +0930, Qu Wenruo wrote:
> The first patch is a cleanup to remove the unused @fs_info parameter
> from btrfs_csum_data().
>
> The second patch uses btrfs_csum_data() directly to calculate super
> block checksum and avoid use extent buffer helpers.
>
> The final patch enhance btrfs_print_leaf() to be called with temporary
> extent buffers in mkfs/convert, which have no eb->leaf populated.
>
> Qu Wenruo (3):
> btrfs-progs: remove the unused fs_info parameter for btrfs_csum_data()
> btrfs: mkfs: do not use extent buffer to writeback super block
> btrfs-progs: enhance btrfs_print_leaf() to handle NULL fs_info
Added to devel, thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-05-30 13:43 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-26 4:02 [PATCH 0/3] btrfs-progs: minor cleanups related to extent buffer Qu Wenruo
2025-05-26 4:02 ` [PATCH 1/3] btrfs-progs: remove the unused fs_info parameter for btrfs_csum_data() Qu Wenruo
2025-05-30 13:32 ` David Sterba
2025-05-26 4:02 ` [PATCH 2/3] btrfs: mkfs: do not use extent buffer to writeback super block Qu Wenruo
2025-05-26 4:02 ` [PATCH 3/3] btrfs-progs: enhance btrfs_print_leaf() to handle NULL fs_info Qu Wenruo
2025-05-30 13:43 ` [PATCH 0/3] btrfs-progs: minor cleanups related to extent buffer David Sterba
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox