This patch fixes a signed/unsigned bug that prevented > 1TB scsi disks from working. --- linux-2.4.26-bjking1/drivers/scsi/sd.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff -puN drivers/scsi/sd.c~sd_terabyte_disk drivers/scsi/sd.c --- linux-2.4.26/drivers/scsi/sd.c~sd_terabyte_disk 2004-05-26 10:06:58.000000000 -0500 +++ linux-2.4.26-bjking1/drivers/scsi/sd.c 2004-05-27 22:05:32.000000000 -0500 @@ -294,7 +294,8 @@ static request_queue_t *sd_find_queue(kd static int sd_init_command(Scsi_Cmnd * SCpnt) { - int dev, block, this_count; + int dev, this_count; + unsigned int block; struct hd_struct *ppnt; Scsi_Disk *dpnt; #if CONFIG_SCSI_LOGGING @@ -307,7 +308,7 @@ static int sd_init_command(Scsi_Cmnd * S block = SCpnt->request.sector; this_count = SCpnt->request_bufflen >> 9; - SCSI_LOG_HLQUEUE(1, printk("Doing sd request, dev = 0x%x, block = %d\n", + SCSI_LOG_HLQUEUE(1, printk("Doing sd request, dev = 0x%x, block = %u\n", SCpnt->request.rq_dev, block)); dpnt = &rscsi_disks[dev]; @@ -329,7 +330,7 @@ static int sd_init_command(Scsi_Cmnd * S return 0; } SCSI_LOG_HLQUEUE(2, sd_devname(dev, nbuff)); - SCSI_LOG_HLQUEUE(2, printk("%s : real dev = /dev/%d, block = %d\n", + SCSI_LOG_HLQUEUE(2, printk("%s : real dev = /dev/%d, block = %u\n", nbuff, dev, block)); /* _