kernel-hacking-2024-linux-s.../block
Tejun Heo 6b00769fe1 block: add request->raw_data_len
With padding and draining moved into it, block layer now may extend
requests as directed by queue parameters, so now a request has two
sizes - the original request size and the extended size which matches
the size of area pointed to by bios and later by sgs.  The latter size
is what lower layers are primarily interested in when allocating,
filling up DMA tables and setting up the controller.

Both padding and draining extend the data area to accomodate
controller characteristics.  As any controller which speaks SCSI can
handle underflows, feeding larger data area is safe.

So, this patch makes the primary data length field, request->data_len,
indicate the size of full data area and add a separate length field,
request->raw_data_len, for the unmodified request size.  The latter is
used to report to higher layer (userland) and where the original
request size should be fed to the controller or device.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-02-19 11:36:35 +01:00
..
as-iosched.c block: kill swap_io_context() 2008-02-01 11:34:49 +01:00
blk-barrier.c block: make core bits checkpatch compliant 2008-02-01 09:26:33 +01:00
blk-core.c block: add request->raw_data_len 2008-02-19 11:36:35 +01:00
blk-exec.c block: make core bits checkpatch compliant 2008-02-01 09:26:33 +01:00
blk-ioc.c cfq-iosched: add hlist for browsing parallel to the radix tree 2008-02-19 10:04:00 +01:00
blk-map.c block: add request->raw_data_len 2008-02-19 11:36:35 +01:00
blk-merge.c block: add request->raw_data_len 2008-02-19 11:36:35 +01:00
blk-settings.c make blk_settings_init() static 2008-02-19 10:04:00 +01:00
blk-sysfs.c block: make core bits checkpatch compliant 2008-02-01 09:26:33 +01:00
blk-tag.c block: make core bits checkpatch compliant 2008-02-01 09:26:33 +01:00
blk.h block: ll_rw_blk.c split, add blk-merge.c 2008-01-29 21:55:12 +01:00
blktrace.c blktrace: Add blktrace ioctls to SCSI generic devices 2008-01-28 10:04:46 +01:00
bsg.c block: add request->raw_data_len 2008-02-19 11:36:35 +01:00
cfq-iosched.c cfq-iosched: add hlist for browsing parallel to the radix tree 2008-02-19 10:04:00 +01:00
compat_ioctl.c blktrace: Add blktrace ioctls to SCSI generic devices 2008-01-28 10:04:46 +01:00
deadline-iosched.c block: let elv_register() return void 2007-12-18 08:29:28 +01:00
elevator.c elevator: make elevator_get() attempt to load the appropriate module 2008-02-19 10:20:37 +01:00
genhd.c Enhanced partition statistics: procfs 2008-02-08 12:42:00 +01:00
ioctl.c
Kconfig Only enable BLOCK_COMPAT if COMPAT is needed 2007-10-12 17:58:36 -07:00
Kconfig.iosched
Makefile block: ll_rw_blk.c split, add blk-merge.c 2008-01-29 21:55:12 +01:00
noop-iosched.c block: let elv_register() return void 2007-12-18 08:29:28 +01:00
scsi_ioctl.c block: add request->raw_data_len 2008-02-19 11:36:35 +01:00