diff mbox

[4/6] btrfs-progs: Use fs_info instead of root for BTRFS_MAX_XATTR_SIZE

Message ID 1516936926-18707-4-git-send-email-gujx@cn.fujitsu.com (mailing list archive)
State New, archived
Headers show

Commit Message

Gu Jinxiang Jan. 26, 2018, 3:22 a.m. UTC
Do a cleanup. Also make it consistent with kernel.
Use fs_info instead of root for BTRFS_MAX_XATTR_SIZE, since
maybe in some situation we do not know root, but just know fs_info.

Signed-off-by: Gu Jinxiang <gujx@cn.fujitsu.com>
---
 ctree.h    | 2 +-
 dir-item.c | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

Comments

Qu Wenruo Jan. 26, 2018, 5:31 a.m. UTC | #1
On 2018年01月26日 11:22, Gu Jinxiang wrote:
> Do a cleanup. Also make it consistent with kernel.
> Use fs_info instead of root for BTRFS_MAX_XATTR_SIZE, since
> maybe in some situation we do not know root, but just know fs_info.
> 
> Signed-off-by: Gu Jinxiang <gujx@cn.fujitsu.com>
> ---
>  ctree.h    | 2 +-
>  dir-item.c | 3 ++-
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/ctree.h b/ctree.h
> index ace93cc3..c82e7547 100644
> --- a/ctree.h
> +++ b/ctree.h
> @@ -364,7 +364,7 @@ struct btrfs_header {
>  #define BTRFS_MAX_INLINE_DATA_SIZE(fs_info) (BTRFS_LEAF_DATA_SIZE(fs_info) - \
>  					sizeof(struct btrfs_item) - \
>  					sizeof(struct btrfs_file_extent_item))
> -#define BTRFS_MAX_XATTR_SIZE(r)	(BTRFS_LEAF_DATA_SIZE(r->fs_info) - \
> +#define BTRFS_MAX_XATTR_SIZE(fs_info)	(BTRFS_LEAF_DATA_SIZE(fs_info) - \
>  				 sizeof(struct btrfs_item) -\
>  				 sizeof(struct btrfs_dir_item))

For sake of consistency, it's better to copy kernel definition here.

Thanks,
Qu

>  
> diff --git a/dir-item.c b/dir-item.c
> index 462546c0..0b7250c9 100644
> --- a/dir-item.c
> +++ b/dir-item.c
> @@ -311,7 +311,8 @@ static int verify_dir_item(struct btrfs_root *root,
>  
>  	/* BTRFS_MAX_XATTR_SIZE is the same for all dir items */
>  	if ((btrfs_dir_data_len(leaf, dir_item) +
> -	     btrfs_dir_name_len(leaf, dir_item)) > BTRFS_MAX_XATTR_SIZE(root)) {
> +	     btrfs_dir_name_len(leaf, dir_item)) >
> +			BTRFS_MAX_XATTR_SIZE(root->fs_info)) {
>  		fprintf(stderr, "invalid dir item name + data len: %u + %u\n",
>  		       (unsigned)btrfs_dir_name_len(leaf, dir_item),
>  		       (unsigned)btrfs_dir_data_len(leaf, dir_item));
>
diff mbox

Patch

diff --git a/ctree.h b/ctree.h
index ace93cc3..c82e7547 100644
--- a/ctree.h
+++ b/ctree.h
@@ -364,7 +364,7 @@  struct btrfs_header {
 #define BTRFS_MAX_INLINE_DATA_SIZE(fs_info) (BTRFS_LEAF_DATA_SIZE(fs_info) - \
 					sizeof(struct btrfs_item) - \
 					sizeof(struct btrfs_file_extent_item))
-#define BTRFS_MAX_XATTR_SIZE(r)	(BTRFS_LEAF_DATA_SIZE(r->fs_info) - \
+#define BTRFS_MAX_XATTR_SIZE(fs_info)	(BTRFS_LEAF_DATA_SIZE(fs_info) - \
 				 sizeof(struct btrfs_item) -\
 				 sizeof(struct btrfs_dir_item))
 
diff --git a/dir-item.c b/dir-item.c
index 462546c0..0b7250c9 100644
--- a/dir-item.c
+++ b/dir-item.c
@@ -311,7 +311,8 @@  static int verify_dir_item(struct btrfs_root *root,
 
 	/* BTRFS_MAX_XATTR_SIZE is the same for all dir items */
 	if ((btrfs_dir_data_len(leaf, dir_item) +
-	     btrfs_dir_name_len(leaf, dir_item)) > BTRFS_MAX_XATTR_SIZE(root)) {
+	     btrfs_dir_name_len(leaf, dir_item)) >
+			BTRFS_MAX_XATTR_SIZE(root->fs_info)) {
 		fprintf(stderr, "invalid dir item name + data len: %u + %u\n",
 		       (unsigned)btrfs_dir_name_len(leaf, dir_item),
 		       (unsigned)btrfs_dir_data_len(leaf, dir_item));