btrfs: use enum for extent type defines
authorChengguang Xu <cgxu519@mykernel.net>
Thu, 10 Oct 2019 07:59:58 +0000 (15:59 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 18 Nov 2019 11:46:55 +0000 (12:46 +0100)
Use enum to replace macro definitions of extent types.

Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/tree-checker.c
include/uapi/linux/btrfs_tree.h

index 8b6d4ccd010a660e685227a10c57d8286f2bd6fc..9699c91c958eabf64d7b34e405d2038729e546e4 100644 (file)
@@ -221,11 +221,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_NR_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_NR_FILE_EXTENT_TYPES - 1);
                return -EUCLEAN;
        }
 
index b65c7ee75bc7e996c644b58f836438f6791ab94b..44136de2f5d7986e205fb52c9d73dd4887bfaa39 100644 (file)
@@ -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   = 0,
+       BTRFS_FILE_EXTENT_REG      = 1,
+       BTRFS_FILE_EXTENT_PREALLOC = 2,
+       BTRFS_NR_FILE_EXTENT_TYPES = 3,
+};
 
 struct btrfs_file_extent_item {
        /*