ZFS 1MB recordsize
Adam Nowacki
nowakpl at platinum.linux.pl
Tue Jan 7 17:14:17 UTC 2014
On 2014-01-07 17:34, Slawa Olhovchenkov wrote:
> What is trouble to support 1 MB blocksize in ZFS?
see http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/178388
Some extra work is needed to make it user friendly, for example feature
flag to prevent kernel panics on older systems. This is only speaking of
FreeBSD, other systems that share zfs code may have other issues. Since
there is almost no interest in this feature I've stopped any work on
this beyond what is needed on my systems.
> 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?
> _______________________________________________
> freebsd-fs at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to "freebsd-fs-unsubscribe at freebsd.org"
>
More information about the freebsd-fs
mailing list