Commit bf159463 authored by Kent Overstreet's avatar Kent Overstreet Committed by Kent Overstreet

bcachefs: Improve error messages in superblock write path

Signed-off-by: default avatarKent Overstreet <kent.overstreet@gmail.com>
parent 2a84de33
...@@ -754,11 +754,24 @@ int bch2_write_super(struct bch_fs *c) ...@@ -754,11 +754,24 @@ int bch2_write_super(struct bch_fs *c)
closure_sync(cl); closure_sync(cl);
for_each_online_member(ca, c, i) { for_each_online_member(ca, c, i) {
if (!ca->sb_write_error && if (ca->sb_write_error)
ca->disk_sb.seq != continue;
le64_to_cpu(ca->sb_read_scratch->seq)) {
if (le64_to_cpu(ca->sb_read_scratch->seq) < ca->disk_sb.seq) {
bch2_fs_fatal_error(c,
"Superblock write was silently dropped! (seq %llu expected %llu)",
le64_to_cpu(ca->sb_read_scratch->seq),
ca->disk_sb.seq);
percpu_ref_put(&ca->io_ref);
ret = -EROFS;
goto out;
}
if (le64_to_cpu(ca->sb_read_scratch->seq) > ca->disk_sb.seq) {
bch2_fs_fatal_error(c, bch2_fs_fatal_error(c,
"Superblock modified by another process"); "Superblock modified by another process (seq %llu expected %llu)",
le64_to_cpu(ca->sb_read_scratch->seq),
ca->disk_sb.seq);
percpu_ref_put(&ca->io_ref); percpu_ref_put(&ca->io_ref);
ret = -EROFS; ret = -EROFS;
goto out; goto out;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment