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
Bug 1946497: Updates the way lock acquisition throws an error #228
Bug 1946497: Updates the way lock acquisition throws an error #228
Conversation
@huffmanca: This pull request references Bugzilla bug 1946497, which is invalid:
Comment In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/bugzilla refresh |
@huffmanca: This pull request references Bugzilla bug 1946497, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker. 3 validation(s) were run on this bug
No GitHub users were found matching the public email listed for the QA contact in Bugzilla (piqin@redhat.com), skipping review request. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
pkg/internal/diskutil.go
Outdated
return lock, false, []string{}, err | ||
} | ||
existingLinkPaths, err := GetMatchingSymlinksInDirs(device, symlinkDirs...) | ||
if err != nil || len(existingLinkPaths) > 0 { | ||
// If we don't have any existing symlinks AND we can't get a lock, throw an error | ||
if err != nil || (len(existingLinkPaths) == 0 && !locked) { |
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.
But what is the error here then? if we couldn't get lock because device was busy and no existing symlinks were present then err
variable will be nil.
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've updated lock acquisition to return the error regardless of if the device is busy. This keeps the same logic, but populates the error if the device is busy (which isn't reported as long as there's one or more links).
Let me know your thoughts on this approach.
29330c8
to
45fdf7c
Compare
/retest |
if err != nil || len(existingLinkPaths) > 0 { | ||
existingLinkPaths, symErr := GetMatchingSymlinksInDirs(device, symlinkDirs...) | ||
// If symErr is not nil, there was an error fetching the symlinks | ||
if symErr != nil { |
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.
Rather than returning hardcoded true
or false
values - should we just just return locked
variable? There could be a case where device is locked but GetMatchingSymlinksInDirs
erred out for different reason and in which case caller should not assume device did not get locked.
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.
This has been updated so that we're returning locked
instead of true or false.
45fdf7c
to
ec33be1
Compare
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: gnufied, huffmanca The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@huffmanca: All pull requests linked via external trackers have merged: Bugzilla bug 1946497 has been moved to the MODIFIED state. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Updates the way lock acquisition throws an error