Commit ce96b7ff authored by Chengguang Xu's avatar Chengguang Xu Committed by David Sterba

btrfs: use better definition of number of compression type

The compression type upper limit constant is the same as the last value
and this is confusing.  In order to keep coding style consistent, use
BTRFS_NR_COMPRESS_TYPES as the total number that follows the idom of
'NR' being one more than the last value.
Signed-off-by: default avatarChengguang Xu <cgxu519@mykernel.net>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent b9b1a53e
...@@ -39,6 +39,8 @@ const char* btrfs_compress_type2str(enum btrfs_compression_type type) ...@@ -39,6 +39,8 @@ const char* btrfs_compress_type2str(enum btrfs_compression_type type)
case BTRFS_COMPRESS_ZSTD: case BTRFS_COMPRESS_ZSTD:
case BTRFS_COMPRESS_NONE: case BTRFS_COMPRESS_NONE:
return btrfs_compress_types[type]; return btrfs_compress_types[type];
default:
break;
} }
return NULL; return NULL;
......
...@@ -105,7 +105,7 @@ enum btrfs_compression_type { ...@@ -105,7 +105,7 @@ enum btrfs_compression_type {
BTRFS_COMPRESS_ZLIB = 1, BTRFS_COMPRESS_ZLIB = 1,
BTRFS_COMPRESS_LZO = 2, BTRFS_COMPRESS_LZO = 2,
BTRFS_COMPRESS_ZSTD = 3, BTRFS_COMPRESS_ZSTD = 3,
BTRFS_COMPRESS_TYPES = 3, BTRFS_NR_COMPRESS_TYPES = 4,
}; };
struct workspace_manager { struct workspace_manager {
...@@ -163,7 +163,7 @@ struct btrfs_compress_op { ...@@ -163,7 +163,7 @@ struct btrfs_compress_op {
}; };
/* The heuristic workspaces are managed via the 0th workspace manager */ /* The heuristic workspaces are managed via the 0th workspace manager */
#define BTRFS_NR_WORKSPACE_MANAGERS (BTRFS_COMPRESS_TYPES + 1) #define BTRFS_NR_WORKSPACE_MANAGERS BTRFS_NR_COMPRESS_TYPES
extern const struct btrfs_compress_op btrfs_heuristic_compress; extern const struct btrfs_compress_op btrfs_heuristic_compress;
extern const struct btrfs_compress_op btrfs_zlib_compress; extern const struct btrfs_compress_op btrfs_zlib_compress;
......
...@@ -1409,7 +1409,7 @@ int btrfs_defrag_file(struct inode *inode, struct file *file, ...@@ -1409,7 +1409,7 @@ int btrfs_defrag_file(struct inode *inode, struct file *file,
return -EINVAL; return -EINVAL;
if (do_compress) { if (do_compress) {
if (range->compress_type > BTRFS_COMPRESS_TYPES) if (range->compress_type >= BTRFS_NR_COMPRESS_TYPES)
return -EINVAL; return -EINVAL;
if (range->compress_type) if (range->compress_type)
compress_type = range->compress_type; compress_type = range->compress_type;
......
...@@ -233,11 +233,11 @@ static int check_extent_data_item(struct extent_buffer *leaf, ...@@ -233,11 +233,11 @@ static int check_extent_data_item(struct extent_buffer *leaf,
* Support for new compression/encryption must introduce incompat flag, * Support for new compression/encryption must introduce incompat flag,
* and must be caught in open_ctree(). * and must be caught in open_ctree().
*/ */
if (btrfs_file_extent_compression(leaf, fi) > BTRFS_COMPRESS_TYPES) { if (btrfs_file_extent_compression(leaf, fi) >= BTRFS_NR_COMPRESS_TYPES) {
file_extent_err(leaf, slot, file_extent_err(leaf, slot,
"invalid compression for file extent, have %u expect range [0, %u]", "invalid compression for file extent, have %u expect range [0, %u]",
btrfs_file_extent_compression(leaf, fi), btrfs_file_extent_compression(leaf, fi),
BTRFS_COMPRESS_TYPES); BTRFS_NR_COMPRESS_TYPES - 1);
return -EUCLEAN; return -EUCLEAN;
} }
if (btrfs_file_extent_encryption(leaf, fi)) { if (btrfs_file_extent_encryption(leaf, fi)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment