diff options
Diffstat (limited to 'libbcache/error.c')
-rw-r--r-- | libbcache/error.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libbcache/error.c b/libbcache/error.c index 9f39be1b..f4109da6 100644 --- a/libbcache/error.c +++ b/libbcache/error.c @@ -14,7 +14,7 @@ void bch_inconsistent_error(struct cache_set *c) case BCH_ON_ERROR_RO: if (!test_bit(BCH_FS_INITIAL_GC_DONE, &c->flags)) { /* XXX do something better here? */ - bch_fs_stop(c); + bch_fs_stop_async(c); return; } @@ -120,7 +120,7 @@ void bch_nonfatal_io_error_work(struct work_struct *work) } else { bch_notify_dev_error(ca, true); - mutex_lock(&bch_register_lock); + mutex_lock(&c->state_lock); dev = bch_dev_may_remove(ca); if (dev ? bch_dev_read_only(ca) @@ -129,7 +129,7 @@ void bch_nonfatal_io_error_work(struct work_struct *work) "too many IO errors on %s, setting %s RO", bdevname(ca->disk_sb.bdev, buf), dev ? "device" : "filesystem"); - mutex_unlock(&bch_register_lock); + mutex_unlock(&c->state_lock); } } |