Messages in this thread Patch in this message |  | | Date | Fri, 9 Nov 2001 14:37:20 +0100 | From | Jens Axboe <> | Subject | Re: 2.4.14: crashing on heavy swap-load with SmartArray (dmesg/.config output) |
| |
On Fri, Nov 09 2001, Ronny Lampert (EED) wrote: [smart array crashing]
Apply this on top of 2.4.14 and you'll be fine.
-- Jens Axboe
--- linux/drivers/block/cpqarray.c~ Thu Nov 8 11:33:11 2001 +++ linux/drivers/block/cpqarray.c Thu Nov 8 11:35:31 2001 @@ -942,6 +942,8 @@ if ((c = cmd_alloc(h,1)) == NULL) goto startio; + blkdev_dequeue_request(creq); + spin_unlock_irq(&io_request_lock); bh = creq->bh; @@ -987,13 +989,10 @@ DBGPX( printk("Submitting %d sectors in %d segments\n", sect, seg); ); c->req.hdr.sg_cnt = seg; c->req.hdr.blk_cnt = creq->nr_sectors; - - spin_lock_irq(&io_request_lock); - - blkdev_dequeue_request(creq); - c->req.hdr.cmd = (creq->cmd == READ) ? IDA_READ : IDA_WRITE; c->type = CMD_RWREQ; + + spin_lock_irq(&io_request_lock); /* Put the request on the tail of the request queue */ addQ(&h->reqQ, c); |  |