summaryrefslogtreecommitdiffstats
path: root/include/sys/dmu.h
diff options
context:
space:
mode:
authorMatthew Ahrens <[email protected]>2018-01-11 08:54:38 -0800
committerBrian Behlendorf <[email protected]>2018-07-25 14:11:35 -0700
commit3a549dc7a1f5e5511b4c8699081f704eeb4381b7 (patch)
tree257c2d2bedb78cef825d598980235422a8d991bb /include/sys/dmu.h
parente106a7bacbf6a642a07ecaecc82ef2c45c458865 (diff)
OpenZFS 9442 - decrease indirect block size of spacemaps
Authored by: Matthew Ahrens <[email protected]> Reviewed by: Serapheim Dimitropoulos <[email protected]> Reviewed by: George Wilson <[email protected]> Reviewed by: Albert Lee <[email protected]> Reviewed by: Igor Kozhukhov <[email protected]> Reviewed by: George Melikov <[email protected]> Approved by: Dan McDonald <[email protected]> Ported-by: Brian Behlendorf <[email protected]> Updates to indirect blocks of spacemaps can contribute significantly to write inflation. Therefore we want to reduce the indirect block size of spacemaps from 128K to 16K. Porting notes: * Refactored to allow the dmu_object_alloc(), dmu_object_alloc_ibs() and dmu_object_alloc_dnsize() functions to use a common shared dmu_object_alloc_impl() function. OpenZFS-issue: https://www.illumos.org/issues/9442 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/0c2e6408b Closes #7712
Diffstat (limited to 'include/sys/dmu.h')
-rw-r--r--include/sys/dmu.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/sys/dmu.h b/include/sys/dmu.h
index 28756e6f7..67f4be1c2 100644
--- a/include/sys/dmu.h
+++ b/include/sys/dmu.h
@@ -389,6 +389,9 @@ typedef struct dmu_buf {
*/
uint64_t dmu_object_alloc(objset_t *os, dmu_object_type_t ot,
int blocksize, dmu_object_type_t bonus_type, int bonus_len, dmu_tx_t *tx);
+uint64_t dmu_object_alloc_ibs(objset_t *os, dmu_object_type_t ot, int blocksize,
+ int indirect_blockshift,
+ dmu_object_type_t bonustype, int bonuslen, dmu_tx_t *tx);
uint64_t dmu_object_alloc_dnsize(objset_t *os, dmu_object_type_t ot,
int blocksize, dmu_object_type_t bonus_type, int bonus_len,
int dnodesize, dmu_tx_t *tx);