lvol: don't return lvs_bdev if it's being destroyed
During hot remove of lvol store some lvols can already be in a process of removal. We should not start another removal process for lvol that is already being removed. Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: Ifc91e4cee11ee63af04eac3729d014d7c04ff98b Reviewed-on: https://review.gerrithub.io/390217 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
453f5ae9f6
commit
236f84dae7
@ -73,7 +73,12 @@ vbdev_get_lvs_bdev_by_bdev(struct spdk_bdev *bdev_orig)
|
||||
|
||||
while (lvs_bdev != NULL) {
|
||||
if (lvs_bdev->bdev == bdev_orig) {
|
||||
return lvs_bdev;
|
||||
if (lvs_bdev->req != NULL) {
|
||||
/* We do not allow access to lvs that are being destroyed */
|
||||
return NULL;
|
||||
} else {
|
||||
return lvs_bdev;
|
||||
}
|
||||
}
|
||||
lvs_bdev = vbdev_lvol_store_next(lvs_bdev);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user