btrfs: drop redundant forward declaration in props.c
Drop forward declaration of the functions: - prop_compression_validate - prop_compression_apply - prop_compression_extract No functional changes. Reviewed-by: Nikolay Borisov <nborisov@suse.com> Signed-off-by: Anand Jain <anand.jain@oracle.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
7715da84f7
commit
3dcf96c7b9
169
fs/btrfs/props.c
169
fs/btrfs/props.c
|
@ -23,36 +23,6 @@ struct prop_handler {
|
|||
int inheritable;
|
||||
};
|
||||
|
||||
static int prop_compression_validate(const char *value, size_t len);
|
||||
static int prop_compression_apply(struct inode *inode,
|
||||
const char *value,
|
||||
size_t len);
|
||||
static const char *prop_compression_extract(struct inode *inode);
|
||||
|
||||
static struct prop_handler prop_handlers[] = {
|
||||
{
|
||||
.xattr_name = XATTR_BTRFS_PREFIX "compression",
|
||||
.validate = prop_compression_validate,
|
||||
.apply = prop_compression_apply,
|
||||
.extract = prop_compression_extract,
|
||||
.inheritable = 1
|
||||
},
|
||||
};
|
||||
|
||||
void __init btrfs_props_init(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
hash_init(prop_handlers_ht);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(prop_handlers); i++) {
|
||||
struct prop_handler *p = &prop_handlers[i];
|
||||
u64 h = btrfs_name_hash(p->xattr_name, strlen(p->xattr_name));
|
||||
|
||||
hash_add(prop_handlers_ht, &p->node, h);
|
||||
}
|
||||
}
|
||||
|
||||
static const struct hlist_head *find_prop_handlers_by_hash(const u64 hash)
|
||||
{
|
||||
struct hlist_head *h;
|
||||
|
@ -271,6 +241,78 @@ int btrfs_load_inode_props(struct inode *inode, struct btrfs_path *path)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int prop_compression_validate(const char *value, size_t len)
|
||||
{
|
||||
if (!value)
|
||||
return 0;
|
||||
|
||||
if (!strncmp("lzo", value, 3))
|
||||
return 0;
|
||||
else if (!strncmp("zlib", value, 4))
|
||||
return 0;
|
||||
else if (!strncmp("zstd", value, 4))
|
||||
return 0;
|
||||
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static int prop_compression_apply(struct inode *inode, const char *value,
|
||||
size_t len)
|
||||
{
|
||||
struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
|
||||
int type;
|
||||
|
||||
if (len == 0) {
|
||||
BTRFS_I(inode)->flags |= BTRFS_INODE_NOCOMPRESS;
|
||||
BTRFS_I(inode)->flags &= ~BTRFS_INODE_COMPRESS;
|
||||
BTRFS_I(inode)->prop_compress = BTRFS_COMPRESS_NONE;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!strncmp("lzo", value, 3)) {
|
||||
type = BTRFS_COMPRESS_LZO;
|
||||
btrfs_set_fs_incompat(fs_info, COMPRESS_LZO);
|
||||
} else if (!strncmp("zlib", value, 4)) {
|
||||
type = BTRFS_COMPRESS_ZLIB;
|
||||
} else if (!strncmp("zstd", value, 4)) {
|
||||
type = BTRFS_COMPRESS_ZSTD;
|
||||
btrfs_set_fs_incompat(fs_info, COMPRESS_ZSTD);
|
||||
} else {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
BTRFS_I(inode)->flags &= ~BTRFS_INODE_NOCOMPRESS;
|
||||
BTRFS_I(inode)->flags |= BTRFS_INODE_COMPRESS;
|
||||
BTRFS_I(inode)->prop_compress = type;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const char *prop_compression_extract(struct inode *inode)
|
||||
{
|
||||
switch (BTRFS_I(inode)->prop_compress) {
|
||||
case BTRFS_COMPRESS_ZLIB:
|
||||
case BTRFS_COMPRESS_LZO:
|
||||
case BTRFS_COMPRESS_ZSTD:
|
||||
return btrfs_compress_type2str(BTRFS_I(inode)->prop_compress);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static struct prop_handler prop_handlers[] = {
|
||||
{
|
||||
.xattr_name = XATTR_BTRFS_PREFIX "compression",
|
||||
.validate = prop_compression_validate,
|
||||
.apply = prop_compression_apply,
|
||||
.extract = prop_compression_extract,
|
||||
.inheritable = 1
|
||||
},
|
||||
};
|
||||
|
||||
static int inherit_props(struct btrfs_trans_handle *trans,
|
||||
struct inode *inode,
|
||||
struct inode *parent)
|
||||
|
@ -352,64 +394,17 @@ int btrfs_subvol_inherit_props(struct btrfs_trans_handle *trans,
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int prop_compression_validate(const char *value, size_t len)
|
||||
void __init btrfs_props_init(void)
|
||||
{
|
||||
if (!strncmp("lzo", value, 3))
|
||||
return 0;
|
||||
else if (!strncmp("zlib", value, 4))
|
||||
return 0;
|
||||
else if (!strncmp("zstd", value, 4))
|
||||
return 0;
|
||||
int i;
|
||||
|
||||
return -EINVAL;
|
||||
hash_init(prop_handlers_ht);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(prop_handlers); i++) {
|
||||
struct prop_handler *p = &prop_handlers[i];
|
||||
u64 h = btrfs_name_hash(p->xattr_name, strlen(p->xattr_name));
|
||||
|
||||
hash_add(prop_handlers_ht, &p->node, h);
|
||||
}
|
||||
}
|
||||
|
||||
static int prop_compression_apply(struct inode *inode,
|
||||
const char *value,
|
||||
size_t len)
|
||||
{
|
||||
struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
|
||||
int type;
|
||||
|
||||
if (len == 0) {
|
||||
BTRFS_I(inode)->flags |= BTRFS_INODE_NOCOMPRESS;
|
||||
BTRFS_I(inode)->flags &= ~BTRFS_INODE_COMPRESS;
|
||||
BTRFS_I(inode)->prop_compress = BTRFS_COMPRESS_NONE;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!strncmp("lzo", value, 3)) {
|
||||
type = BTRFS_COMPRESS_LZO;
|
||||
btrfs_set_fs_incompat(fs_info, COMPRESS_LZO);
|
||||
} else if (!strncmp("zlib", value, 4)) {
|
||||
type = BTRFS_COMPRESS_ZLIB;
|
||||
} else if (!strncmp("zstd", value, 4)) {
|
||||
type = BTRFS_COMPRESS_ZSTD;
|
||||
btrfs_set_fs_incompat(fs_info, COMPRESS_ZSTD);
|
||||
} else {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
BTRFS_I(inode)->flags &= ~BTRFS_INODE_NOCOMPRESS;
|
||||
BTRFS_I(inode)->flags |= BTRFS_INODE_COMPRESS;
|
||||
BTRFS_I(inode)->prop_compress = type;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const char *prop_compression_extract(struct inode *inode)
|
||||
{
|
||||
switch (BTRFS_I(inode)->prop_compress) {
|
||||
case BTRFS_COMPRESS_ZLIB:
|
||||
case BTRFS_COMPRESS_LZO:
|
||||
case BTRFS_COMPRESS_ZSTD:
|
||||
return btrfs_compress_type2str(BTRFS_I(inode)->prop_compress);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue