X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=drivers%2Fnvme%2Fhost%2Fmultipath.c;h=3f32c5e86bfcb202cf331959dcff71ec43127efe;hb=d842bc6c0579ca7643eed029beabab3ac562a335;hp=0ea5298469c3493e123c0b44eb6c0ede4377f44b;hpb=a412897fb546fbb291095be576165ce757eff70b;p=linux-2.6-microblaze.git diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c index 0ea5298469c3..3f32c5e86bfc 100644 --- a/drivers/nvme/host/multipath.c +++ b/drivers/nvme/host/multipath.c @@ -760,14 +760,21 @@ void nvme_mpath_add_disk(struct nvme_ns *ns, struct nvme_id_ns *id) #endif } -void nvme_mpath_remove_disk(struct nvme_ns_head *head) +void nvme_mpath_shutdown_disk(struct nvme_ns_head *head) { if (!head->disk) return; + kblockd_schedule_work(&head->requeue_work); if (head->disk->flags & GENHD_FL_UP) { nvme_cdev_del(&head->cdev, &head->cdev_device); del_gendisk(head->disk); } +} + +void nvme_mpath_remove_disk(struct nvme_ns_head *head) +{ + if (!head->disk) + return; blk_set_queue_dying(head->disk->queue); /* make sure all pending bios are cleaned up */ kblockd_schedule_work(&head->requeue_work);