summaryrefslogtreecommitdiff
path: root/libbcachefs/error.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-04-25 14:35:51 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2023-04-25 14:35:59 -0400
commit693e278c14efae893a6f051446fbbc0cf5e408cd (patch)
treed07889b0a94a05e9610b1d100a214ca3927d7a23 /libbcachefs/error.c
parentfbe4e11c2615b65a0f91941b1e85d6d5ca8ebaf4 (diff)
Update bcachefs sources to fd6fb298aa bcachefs: Make sure hash info gets initialized in fsck
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'libbcachefs/error.c')
-rw-r--r--libbcachefs/error.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libbcachefs/error.c b/libbcachefs/error.c
index aa640284..545c55da 100644
--- a/libbcachefs/error.c
+++ b/libbcachefs/error.c
@@ -158,6 +158,11 @@ int bch2_fsck_err(struct bch_fs *c, unsigned flags, const char *fmt, ...)
mutex_lock(&c->fsck_error_lock);
s = fsck_err_get(c, fmt);
if (s) {
+ /*
+ * We may be called multiple times for the same error on
+ * transaction restart - this memoizes instead of asking the user
+ * multiple times for the same error:
+ */
if (s->last_msg && !strcmp(buf.buf, s->last_msg)) {
ret = s->ret;
mutex_unlock(&c->fsck_error_lock);