Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 05 Oct 2019 18:53:22 +0000
From:      bugzilla-noreply@freebsd.org
To:        fs@FreeBSD.org
Subject:   [Bug 241083] zfs: zpool import seems to probe all snapshots
Message-ID:  <bug-241083-3630-oVTI9RFqst@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-241083-3630@https.bugs.freebsd.org/bugzilla/>
References:  <bug-241083-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=3D241083

--- Comment #3 from Alan Somers <asomers@FreeBSD.org> ---
To learn more about vfs.zfs.vol.mode, read zfs(8) and search for "volmode".=
=20
Setting it to 2 ought to stop ZFS from scanning zvols during import, because
ZFS can only use geom devices as disks, not arbitrary device nodes.  Howeve=
r, I
don't know if ctld will be happy about that.

HOWEVER, I think there may be a bug here.  When vfs.zfs.vol.recursive is 0,=
 ZFS
isn't supposed to taste zvols when importing a pool.  But catch is that ZFS=
 has
to taste disks twice: once from userspace and once from kernelspace.  I thi=
nk
the userspace part is missing the check to exclude zvols.

To test, run this command.  It will measure how much time ZFS takes to taste
devices from userspace, and how much time the kernel module spends importing
devices.  If my hunch is correct, you're spending most of your time tasting
from userspace.

sudo dtrace -n 'pid$target::zpool_search_import:entry {trace(timestamp);}' =
-n
'pid$target::zpool_search_import:return {trace(timestamp);}' -n
'pid$target::zfs_ioctl:entry {trace(timestamp)}' -n
'pid$target::zfs_ioctl:return {trace(timestamp)}' -c "zpool import hal.5".

--=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-241083-3630-oVTI9RFqst>