Add 'Detect drives' option to ddrescue-tui
This commit is contained in:
parent
c452256fe7
commit
18bc139d25
1 changed files with 16 additions and 0 deletions
|
|
@ -39,6 +39,12 @@ Options:
|
||||||
--force-local-map Skip mounting shares and save map to local drive
|
--force-local-map Skip mounting shares and save map to local drive
|
||||||
--start-fresh Ignore previous runs and start new recovery
|
--start-fresh Ignore previous runs and start new recovery
|
||||||
'''
|
'''
|
||||||
|
DETECT_DRIVES_NOTICE = '''
|
||||||
|
This option will force the drive controllers to rescan for devices.
|
||||||
|
The method used is not 100% reliable and may cause issues. If you see
|
||||||
|
any script errors or crashes after running this option then please
|
||||||
|
restart the computer and try again.
|
||||||
|
'''
|
||||||
CLONE_SETTINGS = {
|
CLONE_SETTINGS = {
|
||||||
'Source': None,
|
'Source': None,
|
||||||
'Destination': None,
|
'Destination': None,
|
||||||
|
|
@ -70,6 +76,7 @@ LOG = logging.getLogger(__name__)
|
||||||
MENU_ACTIONS = (
|
MENU_ACTIONS = (
|
||||||
'Start',
|
'Start',
|
||||||
f'Change settings {std.color_string("(experts only)", "YELLOW")}',
|
f'Change settings {std.color_string("(experts only)", "YELLOW")}',
|
||||||
|
f'Detect drives {std.color_string("(experts only)", "YELLOW")}',
|
||||||
'Quit')
|
'Quit')
|
||||||
MENU_TOGGLES = {
|
MENU_TOGGLES = {
|
||||||
'Auto continue (if recovery % over threshold)': True,
|
'Auto continue (if recovery % over threshold)': True,
|
||||||
|
|
@ -1748,6 +1755,15 @@ def main():
|
||||||
else:
|
else:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
# Detect drives
|
||||||
|
if 'Detect drives' in selection[0]:
|
||||||
|
std.clear_screen()
|
||||||
|
std.print_warning(DETECT_DRIVES_NOTICE)
|
||||||
|
if std.ask('Are you sure you proceed?'):
|
||||||
|
std.print_standard('Forcing controllers to rescan for devices...')
|
||||||
|
cmd = 'echo "- - -" | sudo tee /sys/class/scsi_host/host*/scan'
|
||||||
|
exe.run_program(cmd, check=False, shell=True)
|
||||||
|
|
||||||
# Start recovery
|
# Start recovery
|
||||||
if 'Start' in selection:
|
if 'Start' in selection:
|
||||||
std.clear_screen()
|
std.clear_screen()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue