Re: [Nbd] [PATCH 1/1] NBD: allow nbd to be used locally

From: Pavel Machek
Date: Mon Mar 24 2008 - 17:58:30 EST


Hi!

> > >>> This patch allows a Network Block Device to be mounted locally
> > >>> (nbd-client to nbd-server over 127.0.0.1).
> > >>>
> > >>> It creates a kthread to avoid the deadlock described in NBD tools
> > >>> documentation. So, if nbd-client hangs waiting for pages, the kblockd
> > >>> thread can continue its work and free pages.
> > >>
> > >> What happens if your new kthread blocks on memory allocation?
> > >
> > > Well, we expect that. The reason for the new thread is so that it hangs,
> > > rather than kblockd hanging (which on a UP system brings all I/O to a
> > > halt). As long as kblockd can continue making progress, we eventually free
> > > up memory and then NBD can finish its requests, too.
> >
> > ....unless all the memory is in dirty buffers for nbd, and nbd server
> > is swapped out or something?
>
> Note that I'm not a kernel hacker, so might be terribly mistaken here...
>
> but I feel I should point out that this patch solves the issue that no
> two block devices can flush their dirty buffers at the same time.
> Without this patch, you can't write to a _filesystem_ on an NBD device
> if that's connected to a server on the localhost. You are correct that
> this does not solve the deadlock in swapping to NBD devices, but that's
> not the only existing deadlock issue in NBD to localhost...

Same issue with swapping probably exists with dirty block
writeout... swapoff -a, and filesystem becomes very similar to swap.

Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
pomozte zachranit klanovicky les: http://www.ujezdskystrom.info/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/