Teach zpool scrub to scrub only blocks in error log
Added a flag '-e' in zpool scrub to scrub only blocks in error log. A user can pause, resume and cancel the error scrub by passing additional command line arguments -p -s just like a regular scrub. This involves adding a new flag, creating new libzfs interfaces, a new ioctl, and the actual iteration and read-issuing logic. Error scrubbing is executed in multiple txg to make sure pool performance is not affected. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Co-authored-by: TulsiJain tulsi.jain@delphix.com Signed-off-by: George Amanakis <gamanakis@gmail.com> Closes #8995 Closes #12355
This commit is contained in:
committed by
Brian Behlendorf
parent
e34e15ed6d
commit
482eeef804
@@ -5717,7 +5717,8 @@
|
||||
<enumerator name='POOL_SCAN_NONE' value='0'/>
|
||||
<enumerator name='POOL_SCAN_SCRUB' value='1'/>
|
||||
<enumerator name='POOL_SCAN_RESILVER' value='2'/>
|
||||
<enumerator name='POOL_SCAN_FUNCS' value='3'/>
|
||||
<enumerator name='POOL_SCAN_ERRORSCRUB' value='3'/>
|
||||
<enumerator name='POOL_SCAN_FUNCS' value='4'/>
|
||||
</enum-decl>
|
||||
<typedef-decl name='pool_scan_func_t' type-id='1b092565' id='7313fbe2'/>
|
||||
<enum-decl name='pool_scrub_cmd' id='a1474cbd'>
|
||||
|
||||
Reference in New Issue
Block a user