aboutsummaryrefslogtreecommitdiffstats
path: root/module/zfs/dsl_userhold.c
diff options
context:
space:
mode:
authorMatthew Ahrens <[email protected]>2014-11-03 12:28:43 -0800
committerBrian Behlendorf <[email protected]>2015-05-04 09:41:10 -0700
commit3d45fdd6c0d5b4c8e42b6a2cda00bf6f22c9f2bf (patch)
tree79fabc013cdea334851b2b7ae9d59118e601f8eb /module/zfs/dsl_userhold.c
parentcfec5b17b3b04f07381cc705eaf733794d034065 (diff)
Illumos 4951 - ZFS administrative commands should use reserved space
4951 ZFS administrative commands should use reserved space, not with ENOSPC Reviewed by: John Kennedy <[email protected]> Reviewed by: George Wilson <[email protected]> Reviewed by: Christopher Siden <[email protected]> Reviewed by: Dan McDonald <[email protected]> Approved by: Garrett D'Amore <[email protected]> References: https://www.illumos.org/issues/4373 https://github.com/illumos/illumos-gate/commit/7d46dc6 Ported by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'module/zfs/dsl_userhold.c')
-rw-r--r--module/zfs/dsl_userhold.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/module/zfs/dsl_userhold.c b/module/zfs/dsl_userhold.c
index 4007d4c5e..1b234ed48 100644
--- a/module/zfs/dsl_userhold.c
+++ b/module/zfs/dsl_userhold.c
@@ -20,7 +20,7 @@
*/
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2013 by Delphix. All rights reserved.
+ * Copyright (c) 2012, 2014 by Delphix. All rights reserved.
* Copyright (c) 2013 Steven Hartland. All rights reserved.
*/
@@ -319,7 +319,8 @@ dsl_dataset_user_hold(nvlist_t *holds, minor_t cleanup_minor, nvlist_t *errlist)
dduha.dduha_minor = cleanup_minor;
ret = dsl_sync_task(nvpair_name(pair), dsl_dataset_user_hold_check,
- dsl_dataset_user_hold_sync, &dduha, fnvlist_num_pairs(holds));
+ dsl_dataset_user_hold_sync, &dduha,
+ fnvlist_num_pairs(holds), ZFS_SPACE_CHECK_RESERVED);
fnvlist_free(dduha.dduha_chkholds);
return (ret);
@@ -609,7 +610,7 @@ dsl_dataset_user_release_impl(nvlist_t *holds, nvlist_t *errlist,
KM_SLEEP));
error = dsl_sync_task(pool, dsl_dataset_user_release_check,
- dsl_dataset_user_release_sync, &ddura, 0);
+ dsl_dataset_user_release_sync, &ddura, 0, ZFS_SPACE_CHECK_NONE);
fnvlist_free(ddura.ddura_todelete);
fnvlist_free(ddura.ddura_chkholds);