On 24.10.24 13:17, Sasha Levin wrote: > This is a note to let you know that I've just added the patch titled > > btrfs: also add stripe entries for NOCOW writes > > to the 6.11-stable tree which can be found at: > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary > > The filename of the patch is: > btrfs-also-add-stripe-entries-for-nocow-writes.patch > and it can be found in the queue-6.11 subdirectory. > > If you, or anyone else, feels it should not be added to the stable tree, > please let <stable@xxxxxxxxxxxxxxx> know about it. Hey Sasha, this patch is for the RAID stripe-tree feature marked as experimental, so I don't think it's needed to be backported, as noone should use it (apart from testing). > > > > commit ec508a5930024b40064d70cb3dbdf856760cdf5d > Author: Johannes Thumshirn <johannes.thumshirn@xxxxxxx> > Date: Thu Sep 19 12:16:38 2024 +0200 > > btrfs: also add stripe entries for NOCOW writes > > [ Upstream commit 97f9782276fc9cb0de37a5eecb82204e48a5a612 ] > > 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 do NOCOW writes for RAID stripe-tree filesystems. > > Reviewed-by: Naohiro Aota <naohiro.aota@xxxxxxx> > Signed-off-by: Johannes Thumshirn <johannes.thumshirn@xxxxxxx> > Signed-off-by: David Sterba <dsterba@xxxxxxxx> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> > > diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c > index b1b6564ab68f0..48149c2e68954 100644 > --- a/fs/btrfs/inode.c > +++ b/fs/btrfs/inode.c > @@ -3087,6 +3087,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; > } > >