Dear OpenZFS developers,

Since SIMD RAID-Z code was merged to ZoL [1], I started to look into the
rest of the scrub/resilvering code path.
I've found some existing specs and ideas about how to make the process more
rotational drive friendly [2][3][4][5].
What I've gathered from these is that scrub should be split to metadata and
data traversal phases. As I'm new to ZFS,
I've made a quick prototype simulating large elevator using AVL list to
sort blocks by DVA offset [6]. It's probably
broken in more than few ways, but this is just a quick hack to get a grasp
of the code. Solution turned out similar to
'ASYNC_DESTROY' feature, so I'm wondering if this might be a direction to
take?

At this stage, I would appreciate any input on how to proceed with this
project. If you're a core dev and would like
to provide any kind of mentorship or willing to answer some questions from
time to time, please let me know.
Or, if there's a perfect solution for this just waiting to be implemented,
even better.
For starters, pointers like: read this article, make sure you understand
this peace of code, etc., would also be very helpful.

Regards,

[1]
https://github.com/zfsonlinux/zfs/commit/ab9f4b0b824ab4cc64a4fa382c037f4154de12d6
[2] https://blogs.oracle.com/roch/entry/sequential_resilvering
[3]
http://wiki.old.lustre.org/images/f/ff/Rebuild_performance-2009-06-15.pdf
[4] https://blogs.oracle.com/ahrens/entry/new_scrub_code
[5] http://open-zfs.org/wiki/Projects#Periodic_Data_Validation
[6]
https://github.com/ironMann/zfs/commit/9a2ec765d2afc38ec76393dd694216fae0221443



-------------------------------------------
openzfs-developer
Archives: https://www.listbox.com/member/archive/274414/=now
RSS Feed: https://www.listbox.com/member/archive/rss/274414/28015062-cce53afa
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=28015062&id_secret=28015062-f966d51c
Powered by Listbox: http://www.listbox.com

Reply via email to