ZFS 1MB recordsize
Slawa Olhovchenkov
slw at zxy.spb.ru
Tue Jan 7 16:34:07 UTC 2014
What is trouble to support 1 MB blocksize in ZFS?
I try to change in
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h
#define SPA_MAXBLOCKSHIFT 17
to
#define SPA_MAXBLOCKSHIFT 20
rebuild kernel and world, install it and reboot.
create new dataset, copy 16MB file and:
# zdb -dddddddd zroot/tst 8
Dataset zroot/tst [ZPL], ID 177, cr_txg 31368, 16.1M, 8 objects, rootbp DVA[0]=<0:d1397000:1000> DVA[1]=<0:412000:1000> [L0 DMU objset] fletcher4 uncompressed LE contiguous unique double size=800L/800P birth=31384L/31384P fill=8 cksum=bf78ba9b9:e709a16b792:ae320b3c0832c:6061cd37e67e787
Object lvl iblk dblk dsize lsize %full type
8 2 16K 1M 16.0M 16M 100.00 ZFS plain file (K=inherit) (Z=inherit)
168 bonus System attributes
dnode flags: USED_BYTES USERUSED_ACCOUNTED
dnode maxblkid: 15
path /if_ath.ko.debug
uid 0
gid 0
atime Tue Jan 7 19:23:36 2014
mtime Tue Jan 7 19:23:37 2014
ctime Tue Jan 7 19:23:37 2014
crtime Tue Jan 7 19:23:36 2014
gen 31383
mode 100644
size 15806584
parent 4
links 1
pflags 40800000004
Indirect blocks:
0 L1 0:d138c000:1000 0:407000:1000 4000L/1000P F=16 B=31384/31384
0 L0 0:d0373000:100000 100000L/100000P F=1 B=31383/31383
100000 L0 0:d0473000:100000 100000L/100000P F=1 B=31383/31383
200000 L0 0:d0573000:100000 100000L/100000P F=1 B=31383/31383
300000 L0 0:d0673000:100000 100000L/100000P F=1 B=31383/31383
400000 L0 0:d0773000:100000 100000L/100000P F=1 B=31383/31383
500000 L0 0:d0873000:100000 100000L/100000P F=1 B=31383/31383
600000 L0 0:d0973000:100000 100000L/100000P F=1 B=31383/31383
700000 L0 0:d0a73000:100000 100000L/100000P F=1 B=31383/31383
800000 L0 0:d0b8c000:100000 100000L/100000P F=1 B=31384/31384
900000 L0 0:d0c8c000:100000 100000L/100000P F=1 B=31384/31384
a00000 L0 0:d0d8c000:100000 100000L/100000P F=1 B=31384/31384
b00000 L0 0:d0e8c000:100000 100000L/100000P F=1 B=31384/31384
c00000 L0 0:d0f8c000:100000 100000L/100000P F=1 B=31384/31384
d00000 L0 0:d108c000:100000 100000L/100000P F=1 B=31384/31384
e00000 L0 0:d118c000:100000 100000L/100000P F=1 B=31384/31384
f00000 L0 0:d128c000:100000 100000L/100000P F=1 B=31384/31384
segment [0000000000000000, 0000000001000000) size 16M
What is absent?
More information about the freebsd-fs
mailing list