This tarball contains the following patches, to be applied in order:

 01-mapfix.diff

	map_user_kiobuf() retries failed maps to cover a race in which
	the swapper steals a page before the kiobuf has grabbed and 
	locked it.

 02-iocount.diff

	Kanoj Sarcar's fixes to allow kiobufs to work properly over
	fork(), even on threaded applications.

 03-davem-pipe.diff

	Dave Miller's rocking pipe code using kiobufs for a 2*
	throughput improvement on simple streaming pipe I/O.

 04-eiofix.diff

	Fix to return -EIO instead of 0 if a raw I/O read or write
	encounters an error in the first block.

 05-kvmap.diff

	New code to allow:

	1) map_kernel_kiobuf: 	the analogue of map_user_kiobuf,
	   except that it works on kernel virtual addresses instead.
 	   Even vmalloc()ed regions work.

	2) Add a "flags" argument to map_*_kiobuf.  The only flag
	   honoured is

	   MAP_PRIVATE: any mappings of the kiobuf will be kept
			process-local over forks.  Without this,
			the pages will remain shared over fork 
			(which will cause real problems if you 
			map the pages into a MAP_PRIVATE vma in
			user space).

	   MAP_PRIVATE is used by the raw character device.

	3) Add kvmap infrastructure to allow mmap() of any kiobuf.
	   Includes a sample driver in Documentation/kiobuf.sample.c
	   to show how it can work.

 06-enxio.diff

	Return ENXIO on read/write at or beyond the end of the device
	for raw I/O

--Stephen Tweedie <sct@redhat.com>
