Linux Btrfs filesystem development
 help / color / mirror / Atom feed
* [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