mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-06 13:16:22 +00:00
btrfs: export a helper for compression hard check
inode_can_compress will be used outside of inode.c to check the availability of setting compression flag by xattr. This patch moves this function as an internal helper and renames it to btrfs_inode_can_compress. Reviewed-by: Nikolay Borisov <nborisov@suse.com> Signed-off-by: Chung-Chiang Cheng <cccheng@synology.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
5f0addf7b8
commit
e6f9d69648
@ -384,6 +384,17 @@ static inline bool btrfs_inode_in_log(struct btrfs_inode *inode, u64 generation)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if the inode has flags compatible with compression
|
||||
*/
|
||||
static inline bool btrfs_inode_can_compress(const struct btrfs_inode *inode)
|
||||
{
|
||||
if (inode->flags & BTRFS_INODE_NODATACOW ||
|
||||
inode->flags & BTRFS_INODE_NODATASUM)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
struct btrfs_dio_private {
|
||||
struct inode *inode;
|
||||
|
||||
|
@ -480,17 +480,6 @@ static noinline int add_async_extent(struct async_chunk *cow,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if the inode has flags compatible with compression
|
||||
*/
|
||||
static inline bool inode_can_compress(struct btrfs_inode *inode)
|
||||
{
|
||||
if (inode->flags & BTRFS_INODE_NODATACOW ||
|
||||
inode->flags & BTRFS_INODE_NODATASUM)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if the inode needs to be submitted to compression, based on mount
|
||||
* options, defragmentation, properties or heuristics.
|
||||
@ -500,7 +489,7 @@ static inline int inode_need_compress(struct btrfs_inode *inode, u64 start,
|
||||
{
|
||||
struct btrfs_fs_info *fs_info = inode->root->fs_info;
|
||||
|
||||
if (!inode_can_compress(inode)) {
|
||||
if (!btrfs_inode_can_compress(inode)) {
|
||||
WARN(IS_ENABLED(CONFIG_BTRFS_DEBUG),
|
||||
KERN_ERR "BTRFS: unexpected compression for ino %llu\n",
|
||||
btrfs_ino(inode));
|
||||
@ -2019,7 +2008,7 @@ int btrfs_run_delalloc_range(struct btrfs_inode *inode, struct page *locked_page
|
||||
ASSERT(!zoned || btrfs_is_data_reloc_root(inode->root));
|
||||
ret = run_delalloc_nocow(inode, locked_page, start, end,
|
||||
page_started, nr_written);
|
||||
} else if (!inode_can_compress(inode) ||
|
||||
} else if (!btrfs_inode_can_compress(inode) ||
|
||||
!inode_need_compress(inode, start, end)) {
|
||||
if (zoned)
|
||||
ret = run_delalloc_zoned(inode, locked_page, start, end,
|
||||
|
Loading…
Reference in New Issue
Block a user