mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
btrfs: move the !zoned assert into run_delalloc_cow
Having the assert in the actual helper documents the pre-conditions much better than having it in the caller, so move it. Reviewed-by: Boris Burkov <boris@bur.io> Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
38dc88890d
commit
76c5126e76
1 changed files with 7 additions and 8 deletions
|
@ -1976,6 +1976,13 @@ static noinline int run_delalloc_nocow(struct btrfs_inode *inode,
|
|||
u64 ino = btrfs_ino(inode);
|
||||
struct can_nocow_file_extent_args nocow_args = { 0 };
|
||||
|
||||
/*
|
||||
* Normally on a zoned device we're only doing COW writes, but in case
|
||||
* of relocation on a zoned filesystem serializes I/O so that we're only
|
||||
* writing sequentially and can end up here as well.
|
||||
*/
|
||||
ASSERT(!btrfs_is_zoned(fs_info) || btrfs_is_data_reloc_root(root));
|
||||
|
||||
path = btrfs_alloc_path();
|
||||
if (!path) {
|
||||
ret = -ENOMEM;
|
||||
|
@ -2257,14 +2264,6 @@ int btrfs_run_delalloc_range(struct btrfs_inode *inode, struct page *locked_page
|
|||
start >= page_offset(locked_page) + PAGE_SIZE));
|
||||
|
||||
if (should_nocow(inode, start, end)) {
|
||||
/*
|
||||
* Normally on a zoned device we're only doing COW writes, but
|
||||
* in case of relocation on a zoned filesystem we have taken
|
||||
* precaution, that we're only writing sequentially. It's safe
|
||||
* to use run_delalloc_nocow() here, like for regular
|
||||
* preallocated inodes.
|
||||
*/
|
||||
ASSERT(!zoned || btrfs_is_data_reloc_root(inode->root));
|
||||
ret = run_delalloc_nocow(inode, locked_page, start, end);
|
||||
goto out;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue