ZFS 1MB recordsize
Slawa Olhovchenkov
slw at zxy.spb.ru
Tue Jan 7 17:18:20 UTC 2014
On Tue, Jan 07, 2014 at 06:06:39PM +0100, Adam Nowacki wrote:
> 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.
For some workloads this is very useful feature.
> > 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