Bug #7614: zfs device evacuation/removal
Speculative prefetch is blocked by device removal code
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.
Updated by Electric Monk about 3 years ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
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 <email@example.com> Reviewed by: Prashanth Sreenivasa <firstname.lastname@example.org> Approved by: Matt Ahrens <email@example.com>
Updated by Kody Kantor over 2 years 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!