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

erich
2006-04-25T08:45:29Z

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@xenotime.net>
To: "erich" <erich@areca.com.tw>
Cc: <axboe@suse.de>; <dax@gurulabs.com>; <billion.wu@areca.com.tw>;
<viro@ftp.linux.org.uk>; <akpm@osdl.org>; <matti.aarnio@zmailer.org>;
<linux-kernel@vger.kernel.org>; <James.Bottomley@steeleye.com>;
<ccaputo@alt.net>
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@suse.de>
>> To: "erich" <erich@areca.com.tw>
>> Cc: <dax@gurulabs.com>; <billion.wu@areca.com.tw>; "Al Viro"
>> <viro@ftp.linux.org.uk>; "Andrew Morton" <akpm@osdl.org>; "Randy.Dunlap"
>> <rdunlap@xenotime.net>; "Matti Aarnio" <matti.aarnio@zmailer.org>;
>> <linux-kernel@vger.kernel.org>; "James Bottomley"
>> <James.Bottomley@steeleye.com>; "Chris Caputo" <ccaputo@alt.net>
>> 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