[PATCH] cciss 2.5.1 for 2.5.1

From: Stephen Cameron (smcameron@yahoo.com)
Date: Thu Dec 20 2001 - 13:57:41 EST


I wrote:
> [...]
> > Here is a new patch against 2.5.1-pre11:
> > http://www.geocities.com/smcameron/cciss_2.5.0_for_2.5.1-pre11.patch.gz
> > Having played with it some more, I see it is seriously flawed
> in the area of SCSI tape support and locking. [...]

Ok. I think I fixed all that. (Main problem was how I was allocating
my commands for SCSI side of the driver, this bug has been there a
long time, I'm surprised it lasted as long as it did without me seeing it.)

I tested it with 2 tape drives going simultaneously
on a 2 processor system, which was embarassingly
fatal for the previous.drivers.

http://www.geocities.com/smcameron/cciss_2.5.1_for_2.5.1.patch.gz

About the prior patch,
had some complaint that first arg of pci_*_consistent was NULL in
some places in the driver. So I included comments explaining why
it is that way. (Documentation/DMA-mapping.txt says this is
permissible.)

Another complaint that various explicit initializations
to NULL or 0 should be left up to the compiler. Whatever.
Change them if you must.

An excerpt from the patch:
Thu Dec 20 09:43:04 CST 2001
v. 2.5.1 * Fixed longstanding problem in allocation of SCSI commands
                 which meant physical addresses of cmds for tape drives could
                 be wrong. Problem showed easily if 2 tape drives used
                 simultaneously, though in theory it could show with only 1
                 tape drive.
               * Fixed races/deadlocks resulting from first attempt
                 at removing io_request_lock
               * Changed pci_alloc_consistent call in cciss_scsi.c so
                 that the SCSI command pool would be guaranteed to have
                 addresses that fit through the 32 bit command register.
Thu Dec 13 16:39:05 CST 2001
v. 2.5.0 * Removal of io_request_lock for 2.5.x kernels.
               * no longer sets block_size to zero for volumes where
                 read capacity fails (caused div by zero)
               * reset MAXSGENTRIES back to 31 (controllers reject 32)
Thu Oct 4 14:29:15 CDT 2001 Changelog begins.
v. 2.4.21 * Added support for SCSI tape drives (Steve Cameron)
               * Added support for dynamically adding and removing
                 logical volumes, This implies that the disk index
                 ("x" in /dev/cciss/c*b*dx*) is no longer a contiguous
                 sequential series (e.g. 0,1,2,3) as it now maps to logical
                 volume numbers directly and thus there may be gaps.
                 (Charles White)
-- steve

__________________________________________________
Do You Yahoo!?
Check out Yahoo! Shopping and Yahoo! Auctions for all of
your unique holiday gifts! Buy at http://shopping.yahoo.com
or bid at http://auctions.yahoo.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Dec 23 2001 - 21:00:22 EST