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

erich
2006-04-20T08:11:16Z

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.
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
>