Print this page
2619 asynchronous destruction of ZFS file systems
2747 SPA versioning with zfs feature flags
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: George Wilson <gwilson@delphix.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Dan Kruchinin <dan.kruchinin@gmail.com>
Approved by: Dan McDonald <danmcd@nexenta.com>

@@ -18,11 +18,11 @@
  *
  * CDDL HEADER END
  */
 /*
  * 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.
  */
 
 /*
  * DSL permissions are stored in a two level zap attribute
  * mechanism.   The first level identifies the "class" of

@@ -169,14 +169,12 @@
                 uint64_t jumpobj;
 
                 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)) {
                         const char *perm = nvpair_name(permpair);
                         uint64_t n = 0;