-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IO process is D+ when path_checker is tur and there some problem in backstores #54
Comments
I can't reproduce. If I do
This is how it's expected to behave. |
There is a mistake and I'm sorry for it. I echo offline in server but not in client. |
This is log in client.
|
So this is iSCSI? |
I'm not sure that the solution to this problem is in multipath. The device is presumably really returning a good status to the TUR checker, even though it can't complete IO. I'm not sure what, short of basically copying the work of the directio checker, multipath could do to find out that this is the case. To work around the issue, the shaky path detection methods should be able to stop this sort of ping-ponging. |
I agree. The TUR checker can only work if a GOOD response from TUR actually means that the device is able to handle I/O. That doesn't seem to be the case here. |
What target is this? |
See target_core_spc.c:1305. LIO always reports GOOD status to TUR. You can't use the TUR checker with LIO. If you wish, this is a deficiency of the Linux target. |
We should make an entry to our hwtable for this. |
LIO always responds with GOOD status to TUR. Thus TUR is not useful as path checker for LIO targets. Fixes opensvc#54 Signed-off-by: Martin Wilck <[email protected]>
Can you please review and test openSUSE@350af2c, which I've just pushed to https://github.com/openSUSE/multipath-tools/tree/tip ? |
LIO always responds with GOOD status to TUR. Thus TUR is not useful as path checker for LIO targets. Fixes opensvc#54 Signed-off-by: Martin Wilck <[email protected]>
LIO always responds with GOOD status to TUR. Thus TUR is not useful as path checker for LIO targets. Fixes opensvc#54 Signed-off-by: Martin Wilck <[email protected]>
LIO always responds with GOOD status to TUR. Thus TUR is not useful as path checker for LIO targets. Fixes opensvc#54 Signed-off-by: Martin Wilck <[email protected]> Reviewed-by: Benjamin Marzinski <[email protected]>
LIO always responds with GOOD status to TUR. Thus TUR is not useful as path checker for LIO targets. Fixes opensvc#54 Signed-off-by: Martin Wilck <[email protected]> Reviewed-by: Benjamin Marzinski <[email protected]>
Right for |
It is OK. I test this in 0.8.7 and the .product is "RBD". It has been changed. There is no other question. |
So, we need to add the |
Yes |
… SR 1086784 https://build.opensuse.org/request/show/1086784 by user mwilck + dimstar_suse - Update to version 0.9.5+68+suse.d1b6a1c: Upstream bugfixes: * libmultipath: use directio checker for LIO targets (gh#opensvc/multipath-tools#54) * multipathd.service: remove "Also=multipathd.socket" (gh#opensvc/multipath-tools#65) * libmultipathd: Avoid parsing errors due to unsupported designators (forwarded request 1086780 from mwilck)
LIO always responds with GOOD status to TUR. Thus TUR is not useful as path checker for LIO targets. Fixes opensvc#54 mwilck: v2: fixed up with .detect_checker setting. Reported-by: Li Xiaokeng <[email protected]> Signed-off-by: Martin Wilck <[email protected]> Reviewed-by: Benjamin Marzinski <[email protected]> Tested-by: Li Xiaokeng <[email protected]>
LIO always responds with GOOD status to TUR. Thus TUR is not useful as path checker for LIO targets. Fixes opensvc#54 mwilck: v2: fixed up with .detect_checker setting. Reported-by: Li Xiaokeng <[email protected]> Signed-off-by: Martin Wilck <[email protected]> Reviewed-by: Benjamin Marzinski <[email protected]> Tested-by: Li Xiaokeng <[email protected]>
Here is a test. We use tur path_checker and echo offline to backstores, then we write to multipath devices on client.
The IO process becomes D+ because request queue in kernel. We find the path will be down->up->down->up and no_path_retry doesn't work because the tur check is OK but IO is fail.
This problem can be solved if we use directio path_checker or set no_path_retry fail. However, we want to use tur path_checker when there are thousands of multiparty devices. Do you have a good idea about this problem?
The text was updated successfully, but these errors were encountered: