Project

General

Profile

Bug #10841

predictive prefetch disabled on new pools until export/reboot

Added by Jerry Jelinek 5 months ago. Updated 5 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
zfs - Zettabyte File System
Start date:
2019-04-22
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

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.

History

#1

Updated by Electric Monk 5 months ago

  • % Done changed from 0 to 100
  • Status changed from New to Closed

git commit 0ce4bbcb47d8f86307fb8d2c84fd0f4e070f576e

commit  0ce4bbcb47d8f86307fb8d2c84fd0f4e070f576e
Author: Matthew Ahrens <mahrens@delphix.com>
Date:   2019-04-25T22:15:53.000Z

    10841 predictive prefetch disabled on new pools until export/reboot
    Portions contributed by: Jerry Jelinek <jerry.jelinek@joyent.com>
    Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
    Reviewed by: Richard Elling <Richard.Elling@RichardElling.com>
    Reviewed by: George Melikov <mail@gmelikov.ru>
    Reviewed by: Andy Stormont <astormont@racktopsystems.com>
    Reviewed by: Toomas Soome <tsoome@me.com>
    Approved by: Richard Lowe <richlowe@richlowe.net>

Also available in: Atom PDF