Project

General

Profile

Bug #9434

Bug #7614: zfs device evacuation/removal

Speculative prefetch is blocked by device removal code

Added by Alexander Motin over 1 year ago. Updated 10 months ago.

Status:
Closed
Priority:
High
Category:
zfs - Zettabyte File System
Start date:
2018-04-03
Due date:
% Done:

100%

Estimated time:
Difficulty:
Bite-size
Tags:
needs-triage

Description

Testing freshly updated FreeBSD I found that speculative prefetcher does not work for new pools, that never experienced device removal.
Closer look shown that for such pools spa_remove_init() never sets the spa_indirect_vdevs_loaded, while completes successfully.


Files

zfetch.png (7.6 KB) zfetch.png Kody Kantor, 2018-11-15 07:05 PM

History

#1

Updated by Electric Monk over 1 year ago

  • Status changed from In Progress to Closed
  • % Done changed from 0 to 100

git commit 47b8d4b884f2dab4e4c6952b40fd740a8fc4ab32

commit  47b8d4b884f2dab4e4c6952b40fd740a8fc4ab32
Author: Alexander Motin <mav@FreeBSD.org>
Date:   2018-04-26T21:39:13.000Z

    9434 Speculative prefetch is blocked by device removal code
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Reviewed by: Prashanth Sreenivasa <pks@delphix.com>
    Approved by: Matt Ahrens <mahrens@delphix.com>

#2

Updated by Kody Kantor 10 months ago

The analysis is a little light here. I was debugging slow sequential read activity on a SmartOS machine that was running an older image without this fix. I ended up finding this bug and seeing that it was already fixed in more recent illumos-joyent builds.

The full analysis can be found here: https://smartos.org/bugview/OS-7374 . It looks like the image at the end of the issue isn't displaying in bugview, so I'll include it here as well.

This fix was pulled into illumos-joyent from illumos-gate on April 27th in commit eded17e46e9527a7564301e8e191c9a67587d6c9 .

Thanks for finding and fixing this!

Also available in: Atom PDF