svn commit: r258376 - vendor-sys/illumos/dist/uts/common/fs/zfs/sys

Andriy Gapon avg at FreeBSD.org
Wed Nov 20 10:58:27 UTC 2013


Author: avg
Date: Wed Nov 20 10:58:25 2013
New Revision: 258376
URL: http://svnweb.freebsd.org/changeset/base/258376

Log:
  3964 L2ARC should always compress metadata buffers
  
  illumos/illumos-gate at e4be62a2b74a8f09bb669217a1a39eee069b13a1

Modified:
  vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dbuf.h
  vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h
  vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_objset.h

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dbuf.h
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dbuf.h	Wed Nov 20 10:57:45 2013	(r258375)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dbuf.h	Wed Nov 20 10:58:25 2013	(r258376)
@@ -329,7 +329,8 @@ boolean_t dbuf_is_metadata(dmu_buf_impl_
 	((_db)->db_objset->os_secondary_cache == ZFS_CACHE_METADATA)))
 
 #define	DBUF_IS_L2COMPRESSIBLE(_db)					\
-	((_db)->db_objset->os_compress != ZIO_COMPRESS_OFF)
+	((_db)->db_objset->os_compress != ZIO_COMPRESS_OFF ||		\
+	(dbuf_is_metadata(_db) && zfs_mdcomp_disable == B_FALSE))
 
 #ifdef ZFS_DEBUG
 

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h	Wed Nov 20 10:57:45 2013	(r258375)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h	Wed Nov 20 10:58:25 2013	(r258376)
@@ -24,6 +24,7 @@
  * Copyright (c) 2013 by Delphix. All rights reserved.
  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
  * Copyright (c) 2012, Joyent, Inc. All rights reserved.
+ * Copyright 2013 DEY Storage Systems, Inc.
  */
 
 /* Portions Copyright 2010 Robert Milkowski */
@@ -806,6 +807,8 @@ int dmu_diff(const char *tosnap_name, co
 #define	ZFS_CRC64_POLY	0xC96C5795D7870F42ULL	/* ECMA-182, reflected form */
 extern uint64_t zfs_crc64_table[256];
 
+extern int zfs_mdcomp_disable;
+
 #ifdef	__cplusplus
 }
 #endif

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_objset.h
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_objset.h	Wed Nov 20 10:57:45 2013	(r258375)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_objset.h	Wed Nov 20 10:58:25 2013	(r258376)
@@ -130,7 +130,7 @@ struct objset {
 	((os)->os_secondary_cache == ZFS_CACHE_ALL ||		\
 	(os)->os_secondary_cache == ZFS_CACHE_METADATA)
 
-#define	DMU_OS_IS_L2COMPRESSIBLE(os)	((os)->os_compress != ZIO_COMPRESS_OFF)
+#define	DMU_OS_IS_L2COMPRESSIBLE(os)	(zfs_mdcomp_disable == B_FALSE)
 
 /* called from zpl */
 int dmu_objset_hold(const char *name, void *tag, objset_t **osp);


More information about the svn-src-all mailing list