aboutsummaryrefslogtreecommitdiff
path: root/fs/bcachefs/io.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-06-02 00:15:07 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-22 17:09:05 -0400
commitbc3f8b25f3a4403d6e8c9067e6f0fc9cf23be6fe (patch)
tree8313d35a9d67c0dc23763c9844ba2fba4a0403a5 /fs/bcachefs/io.c
parent01254036a326e0663eaeabb2eb3359c04caed2a0 (diff)
bcachefs: Check for errors from bch2_trans_update()
Upcoming refactoring is going to change bch2_trans_update() to start returning transaction restarts. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/io.c')
-rw-r--r--fs/bcachefs/io.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/fs/bcachefs/io.c b/fs/bcachefs/io.c
index 4424129cad46..e13382fc5b01 100644
--- a/fs/bcachefs/io.c
+++ b/fs/bcachefs/io.c
@@ -311,8 +311,9 @@ int bch2_extent_update(struct btree_trans *trans,
inode_iter = bch2_inode_peek(trans, &inode_u,
k->k.p.inode, BTREE_ITER_INTENT);
- if (IS_ERR(inode_iter))
- return PTR_ERR(inode_iter);
+ ret = PTR_ERR_OR_ZERO(inode_iter);
+ if (ret)
+ return ret;
/*
* XXX:
@@ -339,11 +340,14 @@ int bch2_extent_update(struct btree_trans *trans,
inode_p.inode.k.p.snapshot = iter->snapshot;
- bch2_trans_update(trans, inode_iter,
+ ret = bch2_trans_update(trans, inode_iter,
&inode_p.inode.k_i, 0);
}
bch2_trans_iter_put(trans, inode_iter);
+
+ if (ret)
+ return ret;
}
ret = bch2_trans_update(trans, iter, k, 0) ?:
@@ -1780,7 +1784,7 @@ static int __bch2_rbio_narrow_crcs(struct btree_trans *trans,
if (!bch2_bkey_narrow_crcs(new, new_crc))
goto out;
- bch2_trans_update(trans, iter, new, 0);
+ ret = bch2_trans_update(trans, iter, new, 0);
out:
bch2_trans_iter_put(trans, iter);
return ret;