diff options
author | Matthew Ahrens <[email protected]> | 2020-09-04 10:29:39 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2020-09-04 10:29:39 -0700 |
commit | 3808032489f28c1f36b39c9a3274d5f4b6f9638a (patch) | |
tree | 34b2a72f5452c097da400b3571443bf3e671ee93 /module/zfs/vdev_indirect.c | |
parent | cd80273909184426d5f38050c3163de43031098f (diff) |
nowait synctask must succeed
If a `zfs_space_check_t` other than `ZFS_SPACE_CHECK_NONE` is used with
`dsl_sync_task_nowait()`, the sync task may fail due to ENOSPC.
However, there is no way to notice or communicate this failure, so it's
extremely difficult to use this functionality correctly, and in fact
almost all callers use `ZFS_SPACE_CHECK_NONE`.
This commit removes the `zfs_space_check_t` argument from
`dsl_sync_task_nowait()`, and always uses `ZFS_SPACE_CHECK_NONE`.
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Matthew Ahrens <[email protected]>
Closes #10855
Diffstat (limited to 'module/zfs/vdev_indirect.c')
-rw-r--r-- | module/zfs/vdev_indirect.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/module/zfs/vdev_indirect.c b/module/zfs/vdev_indirect.c index 6bc2d917d..5301e0665 100644 --- a/module/zfs/vdev_indirect.c +++ b/module/zfs/vdev_indirect.c @@ -576,8 +576,7 @@ spa_condense_indirect_commit_entry(spa_t *spa, */ if (list_is_empty(&sci->sci_new_mapping_entries[txgoff])) { dsl_sync_task_nowait(dmu_tx_pool(tx), - spa_condense_indirect_commit_sync, sci, - 0, ZFS_SPACE_CHECK_NONE, tx); + spa_condense_indirect_commit_sync, sci, tx); } vdev_indirect_mapping_entry_t *vime = |