Re: [PATCH V2] nvme: fix nvme_remove going to uninterruptible sleep for ever

From: Sagi Grimberg
Date: Tue May 30 2017 - 06:19:03 EST



/*
+ * Avoid configuration and syncing commands if controller is already
+ * being removed and queues have been killed.
+ */
+ if (ctrl->state == NVME_CTRL_DELETING || ctrl->state == NVME_CTRL_DEAD)
+ return;
+

Hey Rakesh, Christoph,

Given that the issue is for sync command submission during controller
removal, I'm wandering if we should perhaps move this check to
__nvme_submit_sync_cmd?

AFAICT user-space can just as easily trigger set_features in the same
condition which will trigger the hang couldn't it?