Illumos #3964 L2ARC should always compress metadata buffers
3964 L2ARC should always compress metadata buffers Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov> References: https://www.illumos.org/issues/3964 Ported-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #1379
This commit is contained in:
parent
3a17a7a99a
commit
4e59f47511
|
@ -324,7 +324,8 @@ boolean_t dbuf_is_metadata(dmu_buf_impl_t *db);
|
||||||
((_db)->db_objset->os_secondary_cache == ZFS_CACHE_METADATA)))
|
((_db)->db_objset->os_secondary_cache == ZFS_CACHE_METADATA)))
|
||||||
|
|
||||||
#define DBUF_IS_L2COMPRESSIBLE(_db) \
|
#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
|
#ifdef ZFS_DEBUG
|
||||||
|
|
||||||
|
|
|
@ -828,6 +828,8 @@ int dmu_diff(objset_t *tosnap, objset_t *fromsnap, struct vnode *vp,
|
||||||
#define ZFS_CRC64_POLY 0xC96C5795D7870F42ULL /* ECMA-182, reflected form */
|
#define ZFS_CRC64_POLY 0xC96C5795D7870F42ULL /* ECMA-182, reflected form */
|
||||||
extern uint64_t zfs_crc64_table[256];
|
extern uint64_t zfs_crc64_table[256];
|
||||||
|
|
||||||
|
extern int zfs_mdcomp_disable;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -130,7 +130,7 @@ struct objset {
|
||||||
((os)->os_secondary_cache == ZFS_CACHE_ALL || \
|
((os)->os_secondary_cache == ZFS_CACHE_ALL || \
|
||||||
(os)->os_secondary_cache == ZFS_CACHE_METADATA)
|
(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 */
|
/* called from zpl */
|
||||||
int dmu_objset_hold(const char *name, void *tag, objset_t **osp);
|
int dmu_objset_hold(const char *name, void *tag, objset_t **osp);
|
||||||
|
|
Loading…
Reference in New Issue