[3/3] btrfs: using enum to replace macro
diff mbox series

Message ID 20191005051736.29857-3-cgxu519@mykernel.net
State New
Headers show
Series
  • [1/3] btrfs: remove unnecessary hash_init()
Related show

Commit Message

Chengguang Xu Oct. 5, 2019, 5:17 a.m. UTC
using enum to replace macro definition for extent
types.

Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
---
 fs/btrfs/tree-checker.c         |  4 ++--
 include/uapi/linux/btrfs_tree.h | 10 ++++++----
 2 files changed, 8 insertions(+), 6 deletions(-)

Comments

David Sterba Oct. 6, 2019, 11:29 p.m. UTC | #1
On Sat, Oct 05, 2019 at 01:17:36PM +0800, Chengguang Xu wrote:
> using enum to replace macro definition for extent
> types.
> 
> Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
> ---
>  fs/btrfs/tree-checker.c         |  4 ++--
>  include/uapi/linux/btrfs_tree.h | 10 ++++++----
>  2 files changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
> index 2d91c34bbf63..9b0c5fdbe04e 100644
> --- a/fs/btrfs/tree-checker.c
> +++ b/fs/btrfs/tree-checker.c
> @@ -156,11 +156,11 @@ static int check_extent_data_item(struct extent_buffer *leaf,
>  
>  	fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item);
>  
> -	if (btrfs_file_extent_type(leaf, fi) > BTRFS_FILE_EXTENT_TYPES) {
> +	if (btrfs_file_extent_type(leaf, fi) >= BTRFS_FILE_EXTENT_TYPES) {
>  		file_extent_err(leaf, slot,
>  		"invalid type for file extent, have %u expect range [0, %u]",
>  			btrfs_file_extent_type(leaf, fi),
> -			BTRFS_FILE_EXTENT_TYPES);
> +			BTRFS_FILE_EXTENT_TYPES - 1);
>  		return -EUCLEAN;
>  	}
>  
> diff --git a/include/uapi/linux/btrfs_tree.h b/include/uapi/linux/btrfs_tree.h
> index b65c7ee75bc7..34bd09ffc71d 100644
> --- a/include/uapi/linux/btrfs_tree.h
> +++ b/include/uapi/linux/btrfs_tree.h
> @@ -737,10 +737,12 @@ struct btrfs_balance_item {
>  	__le64 unused[4];
>  } __attribute__ ((__packed__));
>  
> -#define BTRFS_FILE_EXTENT_INLINE 0
> -#define BTRFS_FILE_EXTENT_REG 1
> -#define BTRFS_FILE_EXTENT_PREALLOC 2
> -#define BTRFS_FILE_EXTENT_TYPES	2
> +enum {
> +	BTRFS_FILE_EXTENT_INLINE,
> +	BTRFS_FILE_EXTENT_REG,
> +	BTRFS_FILE_EXTENT_PREALLOC,
> +	BTRFS_FILE_EXTENT_TYPES
> +};

As stated before, using enums is fine and for on-disk structure,s the
explicit value should be specified as well.

>  struct btrfs_file_extent_item {
>  	/*
> -- 
> 2.21.0
> 
> 
>

Patch
diff mbox series

diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index 2d91c34bbf63..9b0c5fdbe04e 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -156,11 +156,11 @@  static int check_extent_data_item(struct extent_buffer *leaf,
 
 	fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item);
 
-	if (btrfs_file_extent_type(leaf, fi) > BTRFS_FILE_EXTENT_TYPES) {
+	if (btrfs_file_extent_type(leaf, fi) >= BTRFS_FILE_EXTENT_TYPES) {
 		file_extent_err(leaf, slot,
 		"invalid type for file extent, have %u expect range [0, %u]",
 			btrfs_file_extent_type(leaf, fi),
-			BTRFS_FILE_EXTENT_TYPES);
+			BTRFS_FILE_EXTENT_TYPES - 1);
 		return -EUCLEAN;
 	}
 
diff --git a/include/uapi/linux/btrfs_tree.h b/include/uapi/linux/btrfs_tree.h
index b65c7ee75bc7..34bd09ffc71d 100644
--- a/include/uapi/linux/btrfs_tree.h
+++ b/include/uapi/linux/btrfs_tree.h
@@ -737,10 +737,12 @@  struct btrfs_balance_item {
 	__le64 unused[4];
 } __attribute__ ((__packed__));
 
-#define BTRFS_FILE_EXTENT_INLINE 0
-#define BTRFS_FILE_EXTENT_REG 1
-#define BTRFS_FILE_EXTENT_PREALLOC 2
-#define BTRFS_FILE_EXTENT_TYPES	2
+enum {
+	BTRFS_FILE_EXTENT_INLINE,
+	BTRFS_FILE_EXTENT_REG,
+	BTRFS_FILE_EXTENT_PREALLOC,
+	BTRFS_FILE_EXTENT_TYPES
+};
 
 struct btrfs_file_extent_item {
 	/*