diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index d05606052..73b547f88 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c @@ -1525,6 +1525,7 @@ static noinline ssize_t __btrfs_buffered_write(struct file *file, } reserve_bytes = num_pages << PAGE_CACHE_SHIFT; + only_release_metadata = false; if ((BTRFS_I(inode)->flags & (BTRFS_INODE_NODATACOW | BTRFS_INODE_PREALLOC)) && @@ -1659,7 +1660,6 @@ again: set_extent_bit(&BTRFS_I(inode)->io_tree, lockstart, lockend, EXTENT_NORESERVE, NULL, NULL, GFP_NOFS); - only_release_metadata = false; } btrfs_drop_pages(pages, num_pages);