[PATCH] nvme: block ioctls if controller not in a live state

Christoph Hellwig hch at infradead.org
Mon May 14 07:17:34 PDT 2018


On Wed, May 09, 2018 at 09:29:13AM -0700, James Smart wrote:
> 
> That is the exact intent.  I do want the app to trigger off -EAGAIN in those
> two states and try again after a delay./  Perhaps I should change from !LIVE
> to NEW || RESETTING || CONNECTING to be more explicit.  I assumed !LIVE was
> sufficient as the other states should transition to LIVE or the delete path
> is taken which would remove the fd all together.

The problem is that userspace reasonably expects to be able to call
poll/select when used on a character device and it gets -EAGAIN.

Maybe the right solution here is to just do a wait_event_interruptible to
wait for the controller being live.



More information about the Linux-nvme mailing list