From 06942fdde90a7205194d373b3170ea4c99781e24 Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Wed, 17 Apr 2024 13:16:45 -0400 Subject: [PATCH] Fixes for 4.19 Signed-off-by: Sasha Levin --- ...rd-delayed-inode-root-in-transaction.patch | 41 +++++++++++++++++++ queue-4.19/series | 1 + 2 files changed, 42 insertions(+) create mode 100644 queue-4.19/btrfs-record-delayed-inode-root-in-transaction.patch diff --git a/queue-4.19/btrfs-record-delayed-inode-root-in-transaction.patch b/queue-4.19/btrfs-record-delayed-inode-root-in-transaction.patch new file mode 100644 index 00000000000..c912f5799ab --- /dev/null +++ b/queue-4.19/btrfs-record-delayed-inode-root-in-transaction.patch @@ -0,0 +1,41 @@ +From 9ffab744e5bbe9ec636d8517d6ec930d0d89601a Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 21 Mar 2024 10:14:24 -0700 +Subject: btrfs: record delayed inode root in transaction + +From: Boris Burkov + +[ Upstream commit 71537e35c324ea6fbd68377a4f26bb93a831ae35 ] + +When running delayed inode updates, we do not record the inode's root in +the transaction, but we do allocate PREALLOC and thus converted PERTRANS +space for it. To be sure we free that PERTRANS meta rsv, we must ensure +that we record the root in the transaction. + +Fixes: 4f5427ccce5d ("btrfs: delayed-inode: Use new qgroup meta rsv for delayed inode and item") +CC: stable@vger.kernel.org # 6.1+ +Reviewed-by: Qu Wenruo +Signed-off-by: Boris Burkov +Signed-off-by: David Sterba +Signed-off-by: Sasha Levin +--- + fs/btrfs/delayed-inode.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c +index 469a90b07d3f0..fec62782fc86c 100644 +--- a/fs/btrfs/delayed-inode.c ++++ b/fs/btrfs/delayed-inode.c +@@ -1133,6 +1133,9 @@ __btrfs_commit_inode_delayed_items(struct btrfs_trans_handle *trans, + if (ret) + return ret; + ++ ret = btrfs_record_root_in_trans(trans, node->root); ++ if (ret) ++ return ret; + ret = btrfs_update_delayed_inode(trans, node->root, path, node); + return ret; + } +-- +2.43.0 + diff --git a/queue-4.19/series b/queue-4.19/series index 838c58ec553..d6f1f457721 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -10,3 +10,4 @@ tracing-hide-unused-ftrace_event_id_fops.patch vhost-add-smp_rmb-in-vhost_vq_avail_empty.patch selftests-timers-fix-abs-warning-in-posix_timers-test.patch x86-apic-force-native_apic_mem_read-to-use-the-mov-instruction.patch +btrfs-record-delayed-inode-root-in-transaction.patch -- 2.47.2