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

From: erich
Date: Thu Apr 20 2006 - 04:12:10 EST


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


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