summaryrefslogtreecommitdiffstats
path: root/include/sys/dsl_scan.h
diff options
context:
space:
mode:
authorMatthew Ahrens <[email protected]>2014-06-05 13:20:08 -0800
committerBrian Behlendorf <[email protected]>2014-08-04 11:50:52 -0700
commitfbeddd60b79690b6a6ececc9b00b6014d21405aa (patch)
tree67d3e5730537bc17cc5032d84864b3a9a10d3028 /include/sys/dsl_scan.h
parent9b67f605601c77c814037613d8129562db642a29 (diff)
Illumos 4390 - I/O errors can corrupt space map when deleting fs/vol
4390 i/o errors when deleting filesystem/zvol can lead to space map corruption Reviewed by: George Wilson <[email protected]> Reviewed by: Christopher Siden <[email protected]> Reviewed by: Adam Leventhal <[email protected]> Reviewed by: Dan McDonald <[email protected]> Reviewed by: Saso Kiselkov <[email protected]> Approved by: Dan McDonald <[email protected]> References: https://www.illumos.org/issues/4390 https://github.com/illumos/illumos-gate/commit/7fd05ac Porting notes: Previous stack-reduction efforts in traverse_visitb() caused a fair number of un-mergable pieces of code. This patch should reduce its stack footprint a bit more. The new local bptree_entry_phys_t in bptree_add() is dynamically-allocated using kmem_zalloc() for the purpose of stack reduction. The new global zfs_free_leak_on_eio has been defined as an integer rather than a boolean_t as was the case with the related zfs_recover global. Also, zfs_free_leak_on_eio's definition has been inserted into zfs_debug.c for consistency with the existing definition of zfs_recover. Illumos placed it in spa_misc.c. Ported by: Tim Chase <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #2545
Diffstat (limited to 'include/sys/dsl_scan.h')
-rw-r--r--include/sys/dsl_scan.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sys/dsl_scan.h b/include/sys/dsl_scan.h
index bcb85d67d..de6a7d17a 100644
--- a/include/sys/dsl_scan.h
+++ b/include/sys/dsl_scan.h
@@ -116,6 +116,7 @@ typedef struct dsl_scan {
/* for freeing blocks */
boolean_t scn_is_bptree;
boolean_t scn_async_destroying;
+ boolean_t scn_async_stalled;
/* for debugging / information */
uint64_t scn_visited_this_txg;