diff options
author | Andriy Gapon <avg@FreeBSD.org> | 2019-11-21 14:14:08 +0000 |
---|---|---|
committer | Andriy Gapon <avg@FreeBSD.org> | 2019-11-21 14:14:08 +0000 |
commit | a81c89a2c15ac6c46062b6f3a56b8569ca722cbc (patch) | |
tree | 18370d9c1e596c3d7a7f744a68c9fa73fd1a7060 | |
parent | 8a408c7a3a4606de36ef379ed7bdd9f2766fcdcf (diff) | |
download | src-vendor/illumos.tar.gz src-vendor/illumos.zip |
disabled resilver_defer feature leads to looping resilversvendor/illumos
illumos/illumos-gate@233f6c49954dadfb21fa0809febd15e2160e0ff5
https://github.com/illumos/illumos-gate/commit/233f6c49954dadfb21fa0809febd15e2160e0ff5
Note: unusually for illumos this commit does not have a bug ID.
Author: Kody Kantor <kody@kkantor.com>
Notes
Notes:
svn path=/vendor-sys/illumos/dist/; revision=354962
-rw-r--r-- | uts/common/fs/zfs/dsl_scan.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/uts/common/fs/zfs/dsl_scan.c b/uts/common/fs/zfs/dsl_scan.c index b5ef5a89e9db..3999355d0c7f 100644 --- a/uts/common/fs/zfs/dsl_scan.c +++ b/uts/common/fs/zfs/dsl_scan.c @@ -23,7 +23,7 @@ * Copyright (c) 2011, 2018 by Delphix. All rights reserved. * Copyright 2016 Gary Mills * Copyright (c) 2011, 2017 by Delphix. All rights reserved. - * Copyright 2017 Joyent, Inc. + * Copyright 2019 Joyent, Inc. * Copyright (c) 2017 Datto Inc. */ @@ -920,13 +920,15 @@ dsl_scan_done(dsl_scan_t *scn, boolean_t complete, dmu_tx_t *tx) * will find the drives that need to be resilvered * when the machine reboots and start the resilver then. */ - boolean_t resilver_needed = - dsl_scan_clear_deferred(spa->spa_root_vdev, tx); - if (resilver_needed) { - spa_history_log_internal(spa, - "starting deferred resilver", tx, - "errors=%llu", spa_get_errlog_size(spa)); - spa_async_request(spa, SPA_ASYNC_RESILVER); + if (spa_feature_is_enabled(spa, SPA_FEATURE_RESILVER_DEFER)) { + boolean_t resilver_needed = + dsl_scan_clear_deferred(spa->spa_root_vdev, tx); + if (resilver_needed) { + spa_history_log_internal(spa, + "starting deferred resilver", tx, + "errors=%llu", spa_get_errlog_size(spa)); + spa_async_request(spa, SPA_ASYNC_RESILVER); + } } } |