mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-01 10:45:49 +00:00
bcachefs: Convert more -EROFS to private error codes
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
c8b4534d82
commit
7c50140fce
@ -1024,7 +1024,7 @@ static void zero_out_rest_of_ec_bucket(struct bch_fs *c,
|
||||
int ret;
|
||||
|
||||
if (!bch2_dev_get_ioref(ca, WRITE)) {
|
||||
s->err = -EROFS;
|
||||
s->err = -BCH_ERR_erofs_no_writes;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1401,7 +1401,7 @@ __bch2_ec_stripe_head_get(struct btree_trans *trans,
|
||||
return ERR_PTR(ret);
|
||||
|
||||
if (test_bit(BCH_FS_GOING_RO, &c->flags)) {
|
||||
h = ERR_PTR(-EROFS);
|
||||
h = ERR_PTR(-BCH_ERR_erofs_no_writes);
|
||||
goto found;
|
||||
}
|
||||
|
||||
@ -1774,7 +1774,7 @@ static void __bch2_ec_stop(struct bch_fs *c, struct bch_dev *ca)
|
||||
}
|
||||
goto unlock;
|
||||
found:
|
||||
h->s->err = -EROFS;
|
||||
h->s->err = -BCH_ERR_erofs_no_writes;
|
||||
ec_stripe_set_pending(c, h);
|
||||
unlock:
|
||||
mutex_unlock(&h->lock);
|
||||
|
@ -175,6 +175,9 @@
|
||||
x(EROFS, erofs_no_writes) \
|
||||
x(EROFS, erofs_journal_err) \
|
||||
x(EROFS, erofs_sb_err) \
|
||||
x(EROFS, erofs_unfixed_errors) \
|
||||
x(EROFS, erofs_norecovery) \
|
||||
x(EROFS, erofs_nochanges) \
|
||||
x(EROFS, insufficient_devices) \
|
||||
x(0, operation_blocked) \
|
||||
x(BCH_ERR_operation_blocked, btree_cache_cannibalize_lock_blocked) \
|
||||
|
@ -494,7 +494,7 @@ static int __journal_res_get(struct journal *j, struct journal_res *res,
|
||||
}
|
||||
|
||||
return ret == JOURNAL_ERR_insufficient_devices
|
||||
? -EROFS
|
||||
? -BCH_ERR_erofs_journal_err
|
||||
: -BCH_ERR_journal_res_get_blocked;
|
||||
}
|
||||
|
||||
|
@ -361,20 +361,21 @@ static int __bch2_fs_read_write(struct bch_fs *c, bool early)
|
||||
|
||||
if (test_bit(BCH_FS_INITIAL_GC_UNFIXED, &c->flags)) {
|
||||
bch_err(c, "cannot go rw, unfixed btree errors");
|
||||
return -EROFS;
|
||||
return -BCH_ERR_erofs_unfixed_errors;
|
||||
}
|
||||
|
||||
if (test_bit(BCH_FS_RW, &c->flags))
|
||||
return 0;
|
||||
|
||||
if (c->opts.norecovery)
|
||||
return -BCH_ERR_erofs_norecovery;
|
||||
|
||||
/*
|
||||
* nochanges is used for fsck -n mode - we have to allow going rw
|
||||
* during recovery for that to work:
|
||||
*/
|
||||
if (c->opts.norecovery ||
|
||||
(c->opts.nochanges &&
|
||||
(!early || c->opts.read_only)))
|
||||
return -EROFS;
|
||||
if (c->opts.nochanges && (!early || c->opts.read_only))
|
||||
return -BCH_ERR_erofs_nochanges;
|
||||
|
||||
bch_info(c, "going read-write");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user