Illumos #2619 and #2747
[zfs.git] / module / zfs / dsl_deleg.c
index a4d4e42..294932c 100644 (file)
@@ -20,7 +20,7 @@
  */
 /*
  * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2011 by Delphix. All rights reserved.
+ * Copyright (c) 2012 by Delphix. All rights reserved.
  */
 
 /*
@@ -171,10 +171,8 @@ dsl_deleg_set_sync(void *arg1, void *arg2, dmu_tx_t *tx)
                VERIFY(nvpair_value_nvlist(whopair, &perms) == 0);
 
                if (zap_lookup(mos, zapobj, whokey, 8, 1, &jumpobj) != 0) {
-                       jumpobj = zap_create(mos, DMU_OT_DSL_PERMS,
-                           DMU_OT_NONE, 0, tx);
-                       VERIFY(zap_update(mos, zapobj,
-                           whokey, 8, 1, &jumpobj, tx) == 0);
+                       jumpobj = zap_create_link(mos, DMU_OT_DSL_PERMS,
+                           zapobj, whokey, tx);
                }
 
                while ((permpair = nvlist_next_nvpair(perms, permpair))) {