Date: Thu, 06 Nov 2014 13:02:18 +0000 From: Steven Hartland <killing@multiplay.co.uk> To: freebsd-fs@freebsd.org Subject: Re: ZFS bug: Creating ZIL ignores vfs.zfs.min_auto_ashift Message-ID: <545B715A.5060804@multiplay.co.uk> In-Reply-To: <B731A922-3F83-4D8E-A4EA-22C5CA8A3850@sarenet.es> References: <B731A922-3F83-4D8E-A4EA-22C5CA8A3850@sarenet.es>
next in thread | previous in thread | raw e-mail | index | archive | help
Your zdb output looks strange you have two children[1] entries are you sure your pool is not corrupt? On 06/11/2014 11:01, Borja Marcos wrote: > > Hi, > > I have noticed that ZIL creation _ignores_ the vfs.zfs.min_auto_ashift variable. ZIL and cache on SSDs should use > this variable in order to apply the optimum sector size on SSDs or so-called advanced format drives. > > The system is: > root@splunk:/ # uname -a > FreeBSD splunk 10.1-PRERELEASE FreeBSD 10.1-PRERELEASE #12: Tue Nov 4 11:22:48 CET 2014 root@splunk:/usr/obj/usr/src/sys/SPLUNK10 amd64 > > > > Example: > > # sysctl vfs.zfs.min_auto_ashift=12 > > # zpool status //// Just a common mirror with two hard disks > pool: rpool > state: ONLINE > scan: scrub repaired 0 in 5h55m with 0 errors on Wed Oct 29 23:26:03 2014 > config: > > NAME STATE READ WRITE CKSUM > rpool ONLINE 0 0 0 > mirror-0 ONLINE 0 0 0 > ada0p3 ONLINE 0 0 0 > ada2p3 ONLINE 0 0 0 > > errors: No known data errors > > > # zpool add rpool log ada1 > > # zpool status > pool: rpool > state: ONLINE > scan: scrub repaired 0 in 5h55m with 0 errors on Wed Oct 29 23:26:03 2014 > config: > > NAME STATE READ WRITE CKSUM > rpool ONLINE 0 0 0 > mirror-0 ONLINE 0 0 0 > ada0p3 ONLINE 0 0 0 > ada2p3 ONLINE 0 0 0 > logs > ada1 ONLINE 0 0 0 > > errors: No known data errors > > > ///// There it is, but > > # zdb | more > version: 5000 > name: 'rpool' > state: 0 > txg: 11738986 > pool_guid: 18110845055860026534 > hostid: 316898903 > hostname: 'splunk' > vdev_children: 2 > vdev_tree: > type: 'root' > id: 0 > guid: 18110845055860026534 > children[0]: > type: 'mirror' > id: 0 > guid: 10858793804082837265 > metaslab_array: 30 > metaslab_shift: 32 > ashift: 12 > asize: 482922987520 > is_log: 0 > create_txg: 4 > children[0]: > type: 'disk' > id: 0 > guid: 10490056043151312448 > path: '/dev/ada0p3' > phys_path: '/dev/ada0p3' > whole_disk: 1 > DTL: 331 > create_txg: 4 > children[1]: > type: 'disk' > id: 1 > guid: 2441255496794840851 > path: '/dev/ada2p3' > phys_path: '/dev/ada2p3' > whole_disk: 1 > DTL: 252 > create_txg: 4 > children[1]: > type: 'disk' > id: 1 > guid: 3564614139316480036 > path: '/dev/ada1' > id: 1 > guid: 2441255496794840851 > path: '/dev/ada2p3' > phys_path: '/dev/ada2p3' > whole_disk: 1 > DTL: 252 > create_txg: 4 > children[1]: > type: 'disk' > id: 1 > guid: 3564614139316480036 > path: '/dev/ada1' > phys_path: '/dev/ada1' > whole_disk: 1 > metaslab_array: 0 > metaslab_shift: 0 > ashift: 9 <======================= WRONG, SHOULDN'T IT BE 12?? > asize: 40015757312 > is_log: 1 > create_txg: 11738986 > features_for_read: > com.delphix:hole_birth > com.delphix:embedded_data > > > > If, however, I do the gnop trick, > > # gnop create -S 4K ada1 > # zpool add rpool log ada1.nop > # zpool status > > pool: rpool > state: ONLINE > scan: scrub repaired 0 in 5h55m with 0 errors on Wed Oct 29 23:26:03 2014 > config: > > NAME STATE READ WRITE CKSUM > rpool ONLINE 0 0 0 > mirror-0 ONLINE 0 0 0 > ada0p3 ONLINE 0 0 0 > ada2p3 ONLINE 0 0 0 > logs > ada1.nop ONLINE 0 0 0 > > errors: No known data errors > > > this time our mirror has the ashift we wanted, 12. > > children[1]: > type: 'disk' > id: 1 > guid: 6487094506120463221 > path: '/dev/ada1.nop' > phys_path: '/dev/ada1.nop' > whole_disk: 1 > metaslab_array: 0 > metaslab_shift: 0 > ashift: 12 > asize: 40015757312 > is_log: 1 > create_txg: 11739034 > > > > The disks I am playing with are: > > # camcontrol devlist > <ST3500418AS CC38> at scbus0 target 0 lun 0 (ada0,pass0) > <INTEL SSDSA2CT040G3 4PC10362> at scbus1 target 0 lun 0 (ada1,pass1) > <ST500DM002-1BC142 JC4B> at scbus2 target 0 lun 0 (ada2,pass2) > <INTEL SSDSA2CT040G3 4PC10362> at scbus3 target 0 lun 0 (ada3,pass3) > > > And yes, I know the two hard disks have different sector sizes but I created the pool with an ashift of 12. > > > > > > > Borja. > > > > _______________________________________________ > freebsd-fs@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-fs > To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?545B715A.5060804>