linux/drivers/block
Ed L. Cashin e407a7f6cd aoe: zero copy write 1 of 2
Avoid memory copy on writes.
(This patch depends on fixes in patch 9 to follow.)

Although skb->len should not be set when working with linear skbuffs,
the skb->tail pointer maintained by skb_put/skb_trim is not relevant
to what happens when the skb_fill_page_desc function is called.  This
issue was raised without comment in linux-kernel and netdev earlier
this month:

  http://thread.gmane.org/gmane.linux.kernel/446474/
  http://thread.gmane.org/gmane.linux.network/45444/

So until there is something analogous to skb_put that works for
zero-copy write skbuffs, we will do what the other callers of
skb_fill_page_desc are doing.

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-10-18 12:53:50 -07:00
..
aoe aoe: zero copy write 1 of 2 2006-10-18 12:53:50 -07:00
paride [PATCH] completions: lockdep annotate on stack completions 2006-10-01 00:39:24 -07:00
acsi_slm.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
acsi.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
amiflop.c [PATCH] amiga_floppy_init() in non-modular case 2006-10-11 11:17:07 -07:00
ataflop.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
cciss_cmd.h [PATCH] cciss: support for >2TB logical volumes 2006-10-01 00:39:20 -07:00
cciss_scsi.c [PATCH] completions: lockdep annotate on stack completions 2006-10-01 00:39:24 -07:00
cciss_scsi.h
cciss.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
cciss.h [PATCH] cciss: support for >2TB logical volumes 2006-10-01 00:39:20 -07:00
cpqarray.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
cpqarray.h
cryptoloop.c [BLOCK] cryptoloop: Use block ciphers where applicable 2006-09-21 11:45:53 +10:00
DAC960.c Various drivers' irq handlers: kill dead code, needless casts 2006-10-06 15:00:58 -04:00
DAC960.h [PATCH] DAC960: use memmove for overlapping areas 2006-10-11 11:14:23 -07:00
floppy.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
ida_cmd.h
ida_ioctl.h
Kconfig Fix bytes <-> kilobytes typo in Kconfig for ramdisk 2006-10-03 23:40:34 +02:00
loop.c [PATCH] __user annotations: loop.c 2006-10-10 15:37:23 -07:00
Makefile
nbd.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
pktcdvd.c [PATCH] pktcdvd: rename a variable for better readability 2006-10-04 07:55:14 -07:00
ps2esdi.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
rd.c [PATCH] rd: memory leak on rd_init() failure 2006-10-17 08:18:48 -07:00
smart1,2.h
swim3.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
swim_iop.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sx8.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
ub.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
umem.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
viodasd.c [PATCH] devfs: Last little devfs cleanups throughout the kernel tree. 2006-06-26 12:25:09 -07:00
xd.c [PATCH] Use linux/io.h instead of asm/io.h 2006-10-11 11:14:23 -07:00
xd.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
z2ram.c [PATCH] z2_init() in non-modular case 2006-10-11 11:17:07 -07:00