On Fri, Nov 15, 2013 at 2:50 AM, Wouter Verhelst <[email protected]> wrote:

>
> I'm not sure if this has been implemented that way (that's Paul's area,
> not mine), but the intention was that the nbd kernel module would only
> do cleanup once the nbd-client process exits.


Not quite. It cleans up at the end of NBD_DO_IT ioctl, before returning to
userland to do the reconnect.


> That is, if nbd-client has
> not yet exited, that could be because it's in -persist mode and is
> trying to reconnect.
>

The -persist mode will only work if there is no ongoing I/O. With I/O
you're likely to get a kernel panic in the filesystem.

In order for nbd to seamlessly handle this situation, we'd have to do a
reconnect in-kernel (or have a callout to userland to reconnect) and then
we'd have to retry any I/Os that may have failed in the meantime (or just
let them fail, but that probably is not as useful).


The solution that Jack mentions is worth looking into -- it should at least
avoid the filesystem panics that we now have. I'll take a look...

--
Paul
------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
Nbd-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nbd-general

Reply via email to