Revision 9c09a95cf431fcf5720f2e408befa24b32b8cf4d authored by Mel Gorman on 24 January 2008, 13:49:54 UTC, committed by Linus Torvalds on 24 January 2008, 16:07:27 UTC
Partial revert the changes made by 04231b3002ac53f8a64a7bd142fde3fa4b6808c6
to the kmem_list3 management. On a machine with a memoryless node, this
BUG_ON was triggering

	static void *____cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid)
	{
		struct list_head *entry;
		struct slab *slabp;
		struct kmem_list3 *l3;
		void *obj;
		int x;

		l3 = cachep->nodelists[nodeid];
		BUG_ON(!l3);

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Christoph Lameter <clameter@sgi.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: Nishanth Aravamudan <nacc@us.ibm.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent c5c9942
Raw File
nbd.txt
                      Network Block Device (TCP version)
                                       
   What is it: With this compiled in the kernel (or as a module), Linux
   can use a remote server as one of its block devices. So every time
   the client computer wants to read, e.g., /dev/nb0, it sends a
   request over TCP to the server, which will reply with the data read.
   This can be used for stations with low disk space (or even diskless -
   if you boot from floppy) to borrow disk space from another computer.
   Unlike NFS, it is possible to put any filesystem on it, etc. It should
   even be possible to use NBD as a root filesystem (I've never tried),
   but it requires a user-level program to be in the initrd to start.
   It also allows you to run block-device in user land (making server
   and client physically the same computer, communicating using loopback).
   
   Current state: It currently works. Network block device is stable.
   I originally thought that it was impossible to swap over TCP. It
   turned out not to be true - swapping over TCP now works and seems
   to be deadlock-free, but it requires heavy patches into Linux's
   network layer.
   
   For more information, or to download the nbd-client and nbd-server
   tools, go to http://nbd.sf.net/.

   Howto: To setup nbd, you can simply do the following:

   First, serve a device or file from a remote server:

   nbd-server <port-number> <device-or-file-to-serve-to-client>

   e.g.,
	root@server1 # nbd-server 1234 /dev/sdb1

	(serves sdb1 partition on TCP port 1234)

   Then, on the local (client) system:

   nbd-client <server-name-or-IP> <server-port-number> /dev/nb[0-n]

   e.g.,
	root@client1 # nbd-client server1 1234 /dev/nb0

	(creates the nb0 device on client1)

   The nbd kernel module need only be installed on the client
   system, as the nbd-server is completely in userspace. In fact,
   the nbd-server has been successfully ported to other operating
   systems, including Windows.
back to top