Date: Wed, 17 Jul 2019 03:37:42 +0000 From: bugzilla-noreply@freebsd.org To: fs@FreeBSD.org Subject: [Bug 237517] ZFS parallel mounting sometimes misses mounting intermediate filesystems Message-ID: <bug-237517-3630-msGaSlFdDh@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-237517-3630@https.bugs.freebsd.org/bugzilla/> References: <bug-237517-3630@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D237517 --- Comment #12 from fullermd@over-yonder.net --- Now, bad news: I upgraded another system from a late-Dec stable/12 to last night's stable/12, and it also came up broken. Whee. But, good news: I've managed to track down how to reproduce it! It has to = do with having multiple ZFS FS trees mounted on the same point. This apparent= ly happened on several of my systems because I have a lot of pool/usr and pool/usr/local (mounted in the places you'd expect), but also pool/bsd/src = and pool/bsd/obj mounted on /usr/{src,obj}. So I grabbed the FreeBSD-12.0-STABLE-amd64-20190711-r349903.raw.xz snapshot= and booted it up in bhyve. I created a separate ~100 meg scratch zvol and also attached it in, as the backing disk for a test zpool (two -d's to /usr/share/examples/vmrun.sh) creatively named 'ztst'. And then worked up the repro script I'm attaching. Something like half the time, it "succeeds" in failing. It seems that the way in which the zfs create's write stuff out is what causes the variability. When it shows up = the failure in a run, repeated `service zfs restart`'s will (almost?) always continue to show the failure, but in runs where everything shows up fine the first time, they'll continue to show up fine. With any luck, this should let somebody familiar with the code quickly pinp= oint the cause of the issues. I assume you can just run the script 'till it fai= ls, then start instrumenting the crap out of zfs_foreach_mountpoint(). (obviously, you don't want to try running this on a ZFS root system, or Bad Things will probably happen the first time it runs "zfs unmount -a"!) An example "broken" run: # /try2_zfs.sh Created: /ztst/t2fs/afile /ztst/t2fs/somedir/afile /ztst/t2fs/somedir/anotherdir/afile /ztst/t2fs/somedir/subdir/afile Restarted: /ztst/t2fs/afile /ztst/t2fs/somedir/afile Restarted serially: /ztst/t2fs/afile /ztst/t2fs/somedir/afile /ztst/t2fs/somedir/anotherdir/afile /ztst/t2fs/somedir/subdir/afile --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-237517-3630-msGaSlFdDh>