69 lines
2.3 KiB
Diff
69 lines
2.3 KiB
Diff
From 61bf384a85f4ab4845a41762ca6aa91a18c67cca Mon Sep 17 00:00:00 2001
|
|
From: Kent Overstreet <kent.overstreet@linux.dev>
|
|
Date: Tue, 1 Oct 2024 17:45:58 -0400
|
|
Subject: [PATCH 005/233] bcachefs: remove_backpointer() now uses
|
|
dirent_get_by_pos()
|
|
Content-Type: text/plain; charset="utf-8"
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
|
Signed-off-by: Alexander Miroshnichenko <alex@millerson.name>
|
|
---
|
|
fs/bcachefs/fsck.c | 26 ++++++++++++--------------
|
|
1 file changed, 12 insertions(+), 14 deletions(-)
|
|
|
|
diff --git a/fs/bcachefs/fsck.c b/fs/bcachefs/fsck.c
|
|
index 285de12436dd..6b2ddbabe3e7 100644
|
|
--- a/fs/bcachefs/fsck.c
|
|
+++ b/fs/bcachefs/fsck.c
|
|
@@ -482,6 +482,13 @@ static int reattach_inode(struct btree_trans *trans, struct bch_inode_unpacked *
|
|
return ret;
|
|
}
|
|
|
|
+static struct bkey_s_c_dirent dirent_get_by_pos(struct btree_trans *trans,
|
|
+ struct btree_iter *iter,
|
|
+ struct bpos pos)
|
|
+{
|
|
+ return bch2_bkey_get_iter_typed(trans, iter, BTREE_ID_dirents, pos, 0, dirent);
|
|
+}
|
|
+
|
|
static int remove_backpointer(struct btree_trans *trans,
|
|
struct bch_inode_unpacked *inode)
|
|
{
|
|
@@ -490,13 +497,11 @@ static int remove_backpointer(struct btree_trans *trans,
|
|
|
|
struct bch_fs *c = trans->c;
|
|
struct btree_iter iter;
|
|
- struct bkey_s_c_dirent d =
|
|
- bch2_bkey_get_iter_typed(trans, &iter, BTREE_ID_dirents,
|
|
- SPOS(inode->bi_dir, inode->bi_dir_offset, inode->bi_snapshot), 0,
|
|
- dirent);
|
|
- int ret = bkey_err(d) ?:
|
|
- dirent_points_to_inode(c, d, inode) ?:
|
|
- __remove_dirent(trans, d.k->p);
|
|
+ struct bkey_s_c_dirent d = dirent_get_by_pos(trans, &iter,
|
|
+ SPOS(inode->bi_dir, inode->bi_dir_offset, inode->bi_snapshot));
|
|
+ int ret = bkey_err(d) ?:
|
|
+ dirent_points_to_inode(c, d, inode) ?:
|
|
+ __remove_dirent(trans, d.k->p);
|
|
bch2_trans_iter_exit(trans, &iter);
|
|
return ret;
|
|
}
|
|
@@ -1166,13 +1171,6 @@ static int hash_check_key(struct btree_trans *trans,
|
|
goto out;
|
|
}
|
|
|
|
-static struct bkey_s_c_dirent dirent_get_by_pos(struct btree_trans *trans,
|
|
- struct btree_iter *iter,
|
|
- struct bpos pos)
|
|
-{
|
|
- return bch2_bkey_get_iter_typed(trans, iter, BTREE_ID_dirents, pos, 0, dirent);
|
|
-}
|
|
-
|
|
static struct bkey_s_c_dirent inode_get_dirent(struct btree_trans *trans,
|
|
struct btree_iter *iter,
|
|
struct bch_inode_unpacked *inode,
|
|
--
|
|
2.45.2
|
|
|