From c1f55a60c41ca5ab8ed7a0893c3d29f8006da82a Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Fri, 18 Nov 2022 18:21:11 -0500 Subject: Update bcachefs sources to 6406e05835 bcachefs: Nocow support --- libbcachefs/inode.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'libbcachefs/inode.c') diff --git a/libbcachefs/inode.c b/libbcachefs/inode.c index 1a0d2608..a91465ef 100644 --- a/libbcachefs/inode.c +++ b/libbcachefs/inode.c @@ -733,7 +733,6 @@ static int bch2_inode_delete_keys(struct btree_trans *trans, * iterator: */ bch2_trans_iter_init(trans, &iter, id, POS(inum.inum, 0), - BTREE_ITER_NOT_EXTENTS| BTREE_ITER_INTENT); while (1) { @@ -756,6 +755,14 @@ static int bch2_inode_delete_keys(struct btree_trans *trans, bkey_init(&delete.k); delete.k.p = iter.pos; + if (iter.flags & BTREE_ITER_IS_EXTENTS) { + bch2_key_resize(&delete.k, k.k->p.offset - iter.pos.offset); + + ret = bch2_extent_trim_atomic(trans, &iter, &delete); + if (ret) + goto err; + } + ret = bch2_trans_update(trans, &iter, &delete, 0) ?: bch2_trans_commit(trans, NULL, NULL, BTREE_INSERT_NOFAIL); -- cgit v1.2.3