mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
OpenZFS 7104 - increase indirect block size
Authored by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Dan McDonald <danmcd@omniti.com> Approved by: Robert Mustacchi <rm@joyent.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Ported-by: George Melikov <mail@gmelikov.ru> OpenZFS-issue: https://www.illumos.org/issues/7104 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/4b5c8e9 Closes #5679
This commit is contained in:
committed by
Brian Behlendorf
parent
df7eeccc75
commit
d7958b4cda
+6
-1
@@ -64,7 +64,7 @@ extern "C" {
|
||||
* 4 levels of indirect blocks would not be able to guarantee addressing an
|
||||
* entire object, so 5 levels will be used, but 5 * (20 - 7) = 65.
|
||||
*/
|
||||
#define DN_MAX_INDBLKSHIFT 14 /* 16k */
|
||||
#define DN_MAX_INDBLKSHIFT 17 /* 128k */
|
||||
#define DNODE_BLOCK_SHIFT 14 /* 16k */
|
||||
#define DNODE_CORE_SIZE 64 /* 64 bytes for dnode sans blkptrs */
|
||||
#define DN_MAX_OBJECT_SHIFT 48 /* 256 trillion (zfs_fid_t limit) */
|
||||
@@ -101,6 +101,11 @@ extern "C" {
|
||||
|
||||
#define DNODES_PER_BLOCK_SHIFT (DNODE_BLOCK_SHIFT - DNODE_SHIFT)
|
||||
#define DNODES_PER_BLOCK (1ULL << DNODES_PER_BLOCK_SHIFT)
|
||||
|
||||
/*
|
||||
* This is inaccurate if the indblkshift of the particular object is not the
|
||||
* max. But it's only used by userland to calculate the zvol reservation.
|
||||
*/
|
||||
#define DNODES_PER_LEVEL_SHIFT (DN_MAX_INDBLKSHIFT - SPA_BLKPTRSHIFT)
|
||||
#define DNODES_PER_LEVEL (1ULL << DNODES_PER_LEVEL_SHIFT)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user