diff options
author | Matthew Ahrens <[email protected]> | 2018-01-11 08:54:38 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2018-07-25 14:11:35 -0700 |
commit | 3a549dc7a1f5e5511b4c8699081f704eeb4381b7 (patch) | |
tree | 257c2d2bedb78cef825d598980235422a8d991bb /include/sys/dmu.h | |
parent | e106a7bacbf6a642a07ecaecc82ef2c45c458865 (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.h | 3 |
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); |