-
Notifications
You must be signed in to change notification settings - Fork 309
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
DAOS-15041 bio: handle normal device hot remove #13635
Conversation
When a normal device is hot removed before being marked as faulty, the faulty reaction won't be performed, so that we need to close opened blobs when teardown the device, at the same time, the closed blobs need be opened on setup when the normal device is plugged back (in which case reint won't be triggered). Signed-off-by: Niu Yawei <[email protected]>
Bug-tracker data: |
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.
LGTM but the area code is not familiar to me so I won't approve
Test stage Functional Hardware Medium completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-13635/1/testReport/ |
} | ||
|
||
if (closed_blobs) { | ||
D_DEBUG(DB_MGMT, "blobstore:%p has %d closed blobs\n", |
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.
maybe a assertion D_ASSERT(bxb->bxb_ready == true).
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.
why? the bxb_ready should be false in this case.
bio_blob_close(ioc, true); | ||
} | ||
|
||
if (opened_blobs) { |
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.
[Question]when we will free io_channel?
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.
When all opened blobs are closed, it could move on to putting io channel (see following code).
When a normal device is hot removed before being marked as faulty, the faulty reaction won't be performed, so that we need to close opened blobs when teardown the device, at the same time, the closed blobs need be opened on setup when the normal device is plugged back (in which case reint won't be triggered).
Before requesting gatekeeper:
Features:
(orTest-tag*
) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.Gatekeeper: