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

Randy.Dunlap
2006-04-20T15:35:49Z

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