HomeFreeBSD

10841 predictive prefetch disabled on new pools until export/reboot

Description

10841 predictive prefetch disabled on new pools until export/reboot

illumos/illumos-gate@0ce4bbcb47d8f86307fb8d2c84fd0f4e070f576e
https://github.com/illumos/illumos-gate/commit/0ce4bbcb47d8f86307fb8d2c84fd0f4e070f576e

https://www.illumos.org/issues/10841

ZoL 944a37248a0 predictive prefetch disabled on new pools until export/reboot

When a pool is initially created (by `zpool create`), predictive
prefetch is inadvertently disabled, until the pool is
export/import-ed, or the machine is rebooted.

When device removal was introduced, we added some code to disable
predictive prefetching until indirect vdevs have been loaded.  This
resulted in the "default state" of prefetch being disabled, until we
proactively enable it after indirect vdevs are loaded.  Unfortunately
this resulted in a few bugs where in some code paths we neglect to
enable predictive prefetch.  The first of these was fixed by
https://github.com/zfsonlinux/zfs/commit/20507534d4ede14d4dd82c99fc8d461704ce7419

This commit fixes another case where we also need to explicitly enable
predictive prefetch, when the pool is initially created.

Author: Matthew Ahrens <mahrens@delphix.com>

Details

Provenance
avgAuthored on
Parents
rS353625: zfs: add a lame emulation of cv_wait_sig(9) in userland to fix r353618
Branches
Unknown
Tags
Unknown