diff options
| author | Benjamin Marzinski <bmarzins@redhat.com> | 2025-11-21 18:49:52 -0500 |
|---|---|---|
| committer | Mikulas Patocka <mpatocka@redhat.com> | 2025-12-10 19:28:22 +0100 |
| commit | 27f204c215a0f5d91a963a16adb10432fa4ca0e9 (patch) | |
| tree | 5f2bb693604b9c263ad539c05005ce4db3171773 /scripts/gdb/linux/bpf.py | |
| parent | 4efe85b0c442a47d8063fdc8ce5f31e9b33f046d (diff) | |
dm-mpath: Simplify the setup_scsi_dh code
There's no point to the MPATHF_RETAIN_ATTACHED_HW_HANDLER flag any more.
The way setup_scsi_dh() worked, if that flag wasn't set, it would
attempt to attach any passed in hardware handler. This would always fail
if a different hardware handler was attached, which caused
setup_scsi_dh() to rerun as if the flag was set. So the code would
already retain any attached handler, because attaching a different one
would always fail.
Also, the code had a bug. If attached_handler_name was NULL but there
was a scsi device handler attached (because either
scsi_dh_attached_handler_name failed() to allocate a name, a handler got
attached after it was called) the code would loop endlessly.
Instead, ignore MPATHF_RETAIN_ATTACHED_HW_HANDLER, and always free the
passed in handler if *attached_handler_name is set. This simplifies the
code, and avoids the endless loop bug, while keeping the functionality
the same.
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Diffstat (limited to 'scripts/gdb/linux/bpf.py')
0 files changed, 0 insertions, 0 deletions
