Print this page
Use the LZ4 algorithm to compress metadata when the corresponding feature is enabled

@@ -20,11 +20,11 @@
  */
 
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2011, 2014 by Delphix. All rights reserved.
- * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
+ * Copyright (c) 2013, 2014, Nexenta Systems, Inc.  All rights reserved.
  */
 
 /*
  * SPA: Storage Pool Allocator
  *

@@ -6104,10 +6104,20 @@
 
         if (spa->spa_ubsync.ub_version < SPA_VERSION_FEATURES &&
             spa->spa_uberblock.ub_version >= SPA_VERSION_FEATURES) {
                 spa_feature_create_zap_objects(spa, tx);
         }
+
+        if (spa->spa_uberblock.ub_version >= SPA_VERSION_FEATURES) {
+                boolean_t lz4_en = spa_feature_is_enabled(spa,
+                    SPA_FEATURE_LZ4_COMPRESS);
+                boolean_t lz4_ac = spa_feature_is_active(spa,
+                    SPA_FEATURE_LZ4_COMPRESS);
+
+                if (lz4_en && !lz4_ac)
+                        spa_feature_incr(spa, SPA_FEATURE_LZ4_COMPRESS, tx);
+        }
         rrw_exit(&dp->dp_config_rwlock, FTAG);
 }
 
 /*
  * Sync the specified transaction group.  New blocks may be dirtied as