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>
        
@@ -19,10 +19,11 @@
  * CDDL HEADER END
  */
 
 /*
  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012 by Delphix. All rights reserved.
  */
 
 #include <sys/zfs_context.h>
 #include <sys/spa.h>
 #include <sys/spa_impl.h>
@@ -1059,15 +1060,13 @@
                 return;
 
         ASSERT(spa->spa_uberblock.ub_version >= SPA_VERSION_DEDUP);
 
         if (spa->spa_ddt_stat_object == 0) {
-                spa->spa_ddt_stat_object = zap_create(ddt->ddt_os,
-                    DMU_OT_DDT_STATS, DMU_OT_NONE, 0, tx);
-                VERIFY(zap_add(ddt->ddt_os, DMU_POOL_DIRECTORY_OBJECT,
-                    DMU_POOL_DDT_STATS, sizeof (uint64_t), 1,
-                    &spa->spa_ddt_stat_object, tx) == 0);
+                spa->spa_ddt_stat_object = zap_create_link(ddt->ddt_os,
+                    DMU_OT_DDT_STATS, DMU_POOL_DIRECTORY_OBJECT,
+                    DMU_POOL_DDT_STATS, tx);
         }
 
         while ((dde = avl_destroy_nodes(&ddt->ddt_tree, &cookie)) != NULL) {
                 ddt_sync_entry(ddt, dde, tx, txg);
                 ddt_free(dde);