Re: new Areca driver in 2.6.16-rc6-mm2 appears to be broken

From: erich
Date: Tue Apr 25 2006 - 04:45:21 EST


Dear Randy.Dunlap,

If it is true, I will add sg count check in arcmsr.
Driver report : host->sg_tablesize=ARCMSR_MAX_SG_ENTRIES to linux scsi host layer.
But got an incorrect request of sg list count from .queuecommand.
Could you tell me which value of ARCMSR_MAX_XFER_SECTORS (4096/512)?

Best Regards
Erich chen

----- Original Message ----- From: "Randy.Dunlap" <rdunlap@xxxxxxxxxxxx>
To: "erich" <erich@xxxxxxxxxxxx>
Cc: <axboe@xxxxxxx>; <dax@xxxxxxxxxxxx>; <billion.wu@xxxxxxxxxxxx>; <viro@xxxxxxxxxxxxxxxx>; <akpm@xxxxxxxx>; <matti.aarnio@xxxxxxxxxxx>; <linux-kernel@xxxxxxxxxxxxxxx>; <James.Bottomley@xxxxxxxxxxxx>; <ccaputo@xxxxxxx>
Sent: Thursday, April 20, 2006 11:38 PM
Subject: Re: new Areca driver in 2.6.16-rc6-mm2 appears to be broken


On Thu, 20 Apr 2006 16:11:04 +0800 erich wrote:

Dear Dear Jens Axboe,

Thanks for your notification and advice.
Areca's firmware has max sg entries of 38 limit.
In my debug driver I had add this condition check.
But no one request more than 38 sg.

Yesterday I saw a request with 70 sg pieces. It was while
running mkfs.ext3 .

Both transfer length all have a lot of requests equal with 38 sg.
But why it ocur only at 4096 sectors?
If the /sys/block/sda/queue/max_sectors_kb equal 256 all operation running
well.
But if I modify it more than 256, the bug appeared.
I will do more research about why there were a lot of requests equal with
38 sg in all file system.
And only it ocur at the volume that format with mkfs.ext2.
Thanks again.

Best Regards
Erich Chen

----- Original Message ----- From: "Jens Axboe" <axboe@xxxxxxx>
To: "erich" <erich@xxxxxxxxxxxx>
Cc: <dax@xxxxxxxxxxxx>; <billion.wu@xxxxxxxxxxxx>; "Al Viro"
<viro@xxxxxxxxxxxxxxxx>; "Andrew Morton" <akpm@xxxxxxxx>; "Randy.Dunlap"
<rdunlap@xxxxxxxxxxxx>; "Matti Aarnio" <matti.aarnio@xxxxxxxxxxx>;
<linux-kernel@xxxxxxxxxxxxxxx>; "James Bottomley"
<James.Bottomley@xxxxxxxxxxxx>; "Chris Caputo" <ccaputo@xxxxxxx>
Sent: Thursday, April 20, 2006 2:42 PM
Subject: Re: new Areca driver in 2.6.16-rc6-mm2 appears to be broken


> On Thu, Apr 20 2006, erich wrote:
>> Dear Jens Axboe,
>>
>> I do "fsck -fy /dev/sda1" on driver MAX_XFER_SECTORS 512.
>> The file system was not clean.
>> I attach mesg.txt for you refer to.
>>
>> =====================================
>> == boot with driver MAX_XFER_SECTORS 4096
>> =====================================
>> #mkfs.ext2 /dev/sda1
>> #reboot
>> =====================================
>> == boot with driver MAX_XFER_SECTORS 512
>> =====================================
>> #fsck -fy /dev/sda1
>> /dev/sda1:clean,.............
>> #reboot
>> =====================================
>> == boot with driver MAX_XFER_SECTORS 4096
>> =====================================
>> #mount /dev/sda1 /mnt/sda1
>> #cp /root/aa /mnt/sda1
>> #reboot
>> =====================================
>> == boot with driver MAX_XFER_SECTORS 512
>> =====================================
>> #fsck -fy /dev/sda1
>> /dev/sda1: no clean,........and dump message such as the attach file
>> mesg.txt.
>
> So the conclusion is that your driver and/or hardware corrupts data > when
> you set MAX_XFER_SECTORS too high. I can't help you anymore with this,
> you should be in the best position to debug the driver and/or hardware
> :-)
>
> It could be that the higher setting just exposes another transfer
> setting bug, like maximum number of segments or segment size, etc.
>
> -- > Jens Axboe
>




---
~Randy

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/