NBD: allow nbd to be used locally
authorLaurent Vivier <Laurent.Vivier@bull.net>
Tue, 29 Apr 2008 08:02:46 +0000 (01:02 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 29 Apr 2008 15:06:23 +0000 (08:06 -0700)
commit48cf6061b30205b29b306bf9bc22dd6f0b091461
treebba7827177587a17160c29392651aa27aa7f98fd
parent8c4dd6068221cd1d0d90490ace80eb4344914a8c
NBD: allow nbd to be used locally

This patch allows 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.

I have tested the patch to verify that it avoids the hang that always occurs
when writing to a localhost nbd connection.  I have also tested to verify that
no performance degradation results from the additional thread and queue.

Patch originally from Laurent Vivier.

Signed-off-by: Paul Clements <paul.clements@steeleye.com>
Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/block/nbd.c
include/linux/nbd.h