FAILED: patch "[PATCH] btrfs: don't run delayed_iputs in commit" failed to apply to 4.9-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
30928e9baac238a7330085a1c5747f0b5df444b4Mon Sep 17 00:00:00 2001
From: Josef Bacik <[email protected]>
Date: Thu, 11 Oct 2018 15:54:31 -0400
Subject: [PATCH] btrfs: don't run delayed_iputs in commit
This could result in a really bad case where we do something like
evict
evict_refill_and_join
btrfs_commit_transaction
btrfs_run_delayed_iputs
evict
evict_refill_and_join
btrfs_commit_transaction
... forever
We have plenty of other places where we run delayed iputs that are much safer, let those do the work.
fs/btrfs/transaction.c +0 -9
@@ -2283,15 +2283,6 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans)kmem_cache_free (btrfs_trans_handle_cachep, trans); -/* -* If fs has been frozen, we can not handle delayed iputs, otherwise -* it'll result in deadlock about SB_FREEZE_FS. -*/ -if (current != fs_info->transaction_kthread && - current != fs_info->cleaner_kthread && - !test_bit (BTRFS_FS_FROZEN , &fs_info->flags)) -btrfs_run_delayed_iputs (fs_info); -return ret; scrub_continue: