]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
btrfs: don't arbitrarily slow down delalloc if we're committing
authorJosef Bacik <josef@toxicpanda.com>
Mon, 18 Sep 2023 18:15:33 +0000 (14:15 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:15:05 +0000 (17:15 +0000)
commit 11aeb97b45ad2e0040cbb2a589bc403152526345 upstream.

We have a random schedule_timeout() if the current transaction is
committing, which seems to be a holdover from the original delalloc
reservation code.

Remove this, we have the proper flushing stuff, we shouldn't be hoping
for random timing things to make everything work.  This just induces
latency for no reason.

CC: stable@vger.kernel.org # 5.4+
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/btrfs/delalloc-space.c

index 427abaf608b8ce40e9593c31a019fc91c4b9d021..0d105ed1b8defc8b85de5f40a96a886777b5b1a1 100644 (file)
@@ -322,9 +322,6 @@ int btrfs_delalloc_reserve_metadata(struct btrfs_inode *inode, u64 num_bytes,
        } else {
                if (current->journal_info)
                        flush = BTRFS_RESERVE_FLUSH_LIMIT;
-
-               if (btrfs_transaction_in_commit(fs_info))
-                       schedule_timeout(1);
        }
 
        num_bytes = ALIGN(num_bytes, fs_info->sectorsize);