-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Reinstate the old zpool read label logic as a fallback. #12040
Conversation
cc: @asomers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a good idea. It never occurred to me that somebody might try to create a pool over NFS.
Now we just need to squash all those commits and make sure the final commit is signed off on to satisfy checkstyle. |
59c2841
to
6a4a48b
Compare
Hm, the merge with master plus the rebase has it reporting that I committed all the commits that were merged from master. LMK if I should have done that some other way, and I'll go rewrite history appropriately. |
In case of AIO failure, we should probably fallback to the old behavior and still work. Closes: openzfs#12032 Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
No worries, sorted it out for you. |
For my future reference, how did you clean it up? (...also, I didn't realize contributors could force push to others' branches.) |
There's a checkbox when you open a PR that allows contributors to make changes. |
In case of AIO failure, we should probably fallback to the old behavior and still work. Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Reviewed-by: Alan Somers <asomers@gmail.com> Reviewed-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Rich Ercolani <rincebrain@gmail.com> Closes openzfs#12032 Closes openzfs#12040
In case of AIO failure, we should probably fallback to the old behavior and still work. Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Reviewed-by: Alan Somers <asomers@gmail.com> Reviewed-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Rich Ercolani <rincebrain@gmail.com> Closes openzfs#12032 Closes openzfs#12040
Motivation and Context
#12032
Description
I landed a verbatim copy of the original zpool_read_label as "zpool_read_label_slow", then reshuffled the logic in
zpool_read_label to call zpool_read_label_slow if any of the AIO operations returned EOPNOTSUPP, which is what
FBSD spits back when you try AIO on FDs where it thinks it's "unsafe".
(The reshuffling was necessary because errno after this happens isn't (always?) EOPNOTSUPP, at least some of the time it's EIO; I landed the whole old function rather than integrating the new and old logic into one function after seeing that the diff between them was almost all of the function body, so it would have just been two entirely separate copies of the logic inside anyway.)
How Has This Been Tested?
vfs.aio.enable_unsafe=0
(it fails before and works after).Types of changes
Checklist:
Signed-off-by
.