[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



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/



Reply to: