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>
        
@@ -16,13 +16,15 @@
  * fields enclosed by brackets "[]" replaced with your own identifying
  * information: Portions Copyright [yyyy] [name of copyright owner]
  *
  * CDDL HEADER END
  */
+
 /*
  * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
  * Portions Copyright 2011 iXsystems, Inc
+ * Copyright (c) 2012 by Delphix. All rights reserved.
  */
 
 #include <sys/zfs_context.h>
 #include <sys/types.h>
 #include <sys/param.h>
@@ -425,14 +427,13 @@
 
         if (zapadd) {
                 char attr_name[8];
 
                 if (sa->sa_layout_attr_obj == 0) {
-                        sa->sa_layout_attr_obj = zap_create(os,
-                            DMU_OT_SA_ATTR_LAYOUTS, DMU_OT_NONE, 0, tx);
-                        VERIFY(zap_add(os, sa->sa_master_obj, SA_LAYOUTS, 8, 1,
-                            &sa->sa_layout_attr_obj, tx) == 0);
+                        sa->sa_layout_attr_obj = zap_create_link(os,
+                            DMU_OT_SA_ATTR_LAYOUTS,
+                            sa->sa_master_obj, SA_LAYOUTS, tx);
                 }
 
                 (void) snprintf(attr_name, sizeof (attr_name),
                     "%d", (int)lot_num);
                 VERIFY(0 == zap_update(os, os->os_sa->sa_layout_attr_obj,
@@ -1550,14 +1551,13 @@
                 mutex_exit(&sa->sa_lock);
                 return;
         }
 
         if (sa->sa_reg_attr_obj == NULL) {
-                sa->sa_reg_attr_obj = zap_create(hdl->sa_os,
-                    DMU_OT_SA_ATTR_REGISTRATION, DMU_OT_NONE, 0, tx);
-                VERIFY(zap_add(hdl->sa_os, sa->sa_master_obj,
-                    SA_REGISTRY, 8, 1, &sa->sa_reg_attr_obj, tx) == 0);
+                sa->sa_reg_attr_obj = zap_create_link(hdl->sa_os,
+                    DMU_OT_SA_ATTR_REGISTRATION,
+                    sa->sa_master_obj, SA_REGISTRY, tx);
         }
         for (i = 0; i != sa->sa_num_attrs; i++) {
                 if (sa->sa_attr_table[i].sa_registered)
                         continue;
                 ATTR_ENCODE(attr_value, tb[i].sa_attr, tb[i].sa_length,