[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240923064549.14224-1-jth@kernel.org>
Date: Mon, 23 Sep 2024 08:45:47 +0200
From: Johannes Thumshirn <jth@...nel.org>
To: Chris Mason <clm@...com>,
Josef Bacik <josef@...icpanda.com>,
David Sterba <dsterba@...e.com>,
linux-btrfs@...r.kernel.org (open list:BTRFS FILE SYSTEM),
linux-kernel@...r.kernel.org (open list)
Cc: Qu Wenruo <wqu@...e.com>,
Naohiro Aota <naohiro.aota@....com>,
Johannes Thumshirn <johannes.thumshirn@....com>
Subject: [PATCH] btrfs: also add stripe entries for NOCOW writes
From: Johannes Thumshirn <johannes.thumshirn@....com>
NOCOW writes do not generate stripe_extent entries in the RAID stripe
tree, as the RAID stripe-tree feature initially was designed with a
zoned filesystem in mind and on a zoned filesystem, we do not allow NOCOW
writes. But the RAID stripe-tree feature is independent from the zoned
feature, so we must also allow NOCOW writes for zoned filesystems.
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@....com>
---
fs/btrfs/inode.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index edac499fd83d..c6e4b58c334c 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -3111,6 +3111,11 @@ int btrfs_finish_one_ordered(struct btrfs_ordered_extent *ordered_extent)
ret = btrfs_update_inode_fallback(trans, inode);
if (ret) /* -ENOMEM or corruption */
btrfs_abort_transaction(trans, ret);
+
+ ret = btrfs_insert_raid_extent(trans, ordered_extent);
+ if (ret)
+ btrfs_abort_transaction(trans, ret);
+
goto out;
}
--
2.43.0
Powered by blists - more mailing lists