[SCSI] sg: fixes for large page_size
authorDouglas Gilbert <dougg@torque.net>
Wed, 20 Sep 2006 22:20:49 +0000 (18:20 -0400)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Tue, 26 Sep 2006 16:23:15 +0000 (09:23 -0700)
commit6460e75a104d10458817d2f5b2fbff775bf0b43a
tree88e2a88aef94282728d1c764d02e5efa7ef7fee4
parent8aee918a1cff2a3722ce76fc6fa5abe09aa98d1b
[SCSI] sg: fixes for large page_size

This sg driver patch addresses the problem with larger
page sizes reported by Brian King in this post:
http://marc.theaimsgroup.com/?l=linux-scsi&m=115867718623631&w=2
Some other related matters are also addressed. Some of these
prevent oopses when the SG_SCATTER_SZ or scatter_elem_sz are
set to inappropriate values.

The scatter_elem_sz has been tested up to 4 MB which should
make the largest data transfer with one SCSI command, 32 MB
less one block, achievable with a relatively small number
of elements in the scatter gather list.

ChangeLog:
    - add scatter_elem_sz boot time parameter and sysfs module
      parameter that is initialized to SG_SCATTER_SZ
    - the driver will then adjust scatter_elem_sz to be the
      max(given(scatter_elem_sz), PAGE_SIZE)
      It will also round it up, if necessary, to be a power
      of two
    - clean up sg.h header, correct bad urls and some statements
      that are no longer valid
    - make the def_reserved_size sysfs module attribute writable

Signed-off-by: Douglas Gilbert <dougg@torque.net>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/sg.c
include/scsi/sg.h