2001-04-13 04:02:26

by Andre Hedrick

[permalink] [raw]
Subject: Re: Help with Fasttrack/100 Raid on Linux


Stephen,

Just telling me this fact is preaching to the choir, you have to express
this on the mailing list, so others can hear first hand that you dislike
the product and their support is non-existant.

You will get no support for kernels that are not precompiled with distros,
that will be a fact. They have ne desire or intention to support linux.
Instead of accepting help, the patronize.

The insult the global linux community with phrases like: 'we are more
concerned with quality and compatablity, than to runs to market...'

Yet they have yet to follow the programming rules of modules, including
the basics of spinlocks/semephores/queue-locks.

So great icon of compatablity with the other os, is vaporware.
You should not trust that their driver will protect you other OS if you
access under Linux. I expect it to eat and damage it just like you are
seeing you Linux partitions being eaten.

Sorry, but http://www.linux-ide.org/ clearly states that nothing below a
given line supports hardware/bios-soft raid.

Regards,

Andre Hedrick
Linux ATA Development

On Thu, 12 Apr 2001, Stephen Woodbridge wrote:

> Andre,
>
> Thank you for your quick response. I was afraid that was going to be the
> situation. They have not been much help. I guess I will just buy another
> regular ATA/100 controller and use software RAID. I wish I had know this
> before I spent the money on the FastTrack100 controller.
>
> Best regards,
> -Steve
>
> Andre Hedrick wrote:
> >
> > Stephen,
> >
> > Sorry but that is a closed source driver and you have to goto Promise, LOL.
> > Last time I talked to them they sent me an email virus that choked a drive.
> > Scan your mail first and then count your fingers if you have to shake
> > hands with somebody their....
> >
> > Andre Hedrick
> > Linux ATA Development
> >
> > On Thu, 12 Apr 2001, Stephen Woodbridge wrote:
> >
> > > Andre,
> > >
> > > I have searched everywhere for some help getting my Promise
> > > FrastTrack/100 Raid controller working. I finally found the ft.o driver
> > > on the Promise website and have gotten it installed correctly (I think),
> > > but I can NOT get fdisk to recognize the drive. Any help would be
> > > greatly appreciated.
> > >
> > > Best regards,
> > > -Stephen Woodbridge
> > >
> > > Here is what I have done so far:
> > >
> > > RedHat 6.2
> > > Linux 2.2.18
> > > (No other scsi devices in system)
> > >
> > > I added to /etc/conf.modules
> > > alias block-major-8 ft
> > > and copied the ft.o to /lib/modules/2.2.18/scsi
> > > and did the depmod -a
> > > and rebooted
> > >
> > > (after boot) ...
> > > [root@linus /root]# lsmod
> > > Module Size Used by
> > > lockd 44688 0 (autoclean) (unused)
> > > sunrpc 58820 0 (autoclean) [lockd]
> > > 3c509 5996 1 (autoclean)
> > > tulip 31888 1 (autoclean)
> > > es1371 25920 0
> > > soundcore 2596 4 [es1371]
> > >
> > > [root@linus /root]# fdisk /dev/sda # tried repeatedly
> > >
> > > Unable to open /dev/sda
> > >
> > > [root@linus /root]# lsmod
> > > Module Size Used by
> > > ft 71048 0 (autoclean) (unused)
> > > scsi_mod 38372 1 (autoclean) [ft]
> > > lockd 44688 0 (autoclean) (unused)
> > > sunrpc 58820 0 (autoclean) [lockd]
> > > 3c509 5996 1 (autoclean)
> > > tulip 31888 1 (autoclean)
> > > es1371 25920 0
> > > soundcore 2596 4 [es1371]
> > > [root@linus /root]#
> > >
> > > When fdisk tried to access /dev/sda the module was loaded and the
> > > following banner shows up on the console:
> > >
> > > TastTrack Driver v1.10 build 3 (06.OCT.2000)
> > > scsi0 : FASTTRACK
> > > scsi : 1 host
> > > Vendor: Promise Model: 1x2 Mirror/RAID1 Rev 1.10
> > > Type: Direct-Access ANSI SCSI revision: 02
> > > Vendor: Promise Model: 1x2 Mirror/RAID1 Rev 1.10
> > > Type: Direct-Access ANSI SCSI revision: 02
> > > Vendor: Promise Model: 1x2 Mirror/RAID1 Rev 1.10
> > > Type: Direct-Access ANSI SCSI revision: 02
> > > Vendor: Promise Model: 1x2 Mirror/RAID1 Rev 1.10
> > > Type: Direct-Access ANSI SCSI revision: 02
> > >


2001-04-13 08:09:31

by Paul Flinders

[permalink] [raw]
Subject: Re: Help with Fasttrack/100 Raid on Linux

Andre Hedrick wrote:

>
> Sorry, but http://www.linux-ide.org/ clearly states that nothing below a
> given line supports hardware/bios-soft raid.

Promise are clearly being less than helpful here and that is not your fault.

However as far as I can see everyone who has a FastTrak which is "stuck"
in RAID mode[1] would be happy if it worked as a normal IDE controller
in Linux, which is (usually?) not the case - eg on the MSI board where
only the first channel is seen.

[1] generally because it is integrated with the motherboard and RAID
is the only thing that the BIOS understands

2001-04-13 19:36:44

by Arjan van de Ven

[permalink] [raw]
Subject: Re: Help with Fasttrack/100 Raid on Linux

In article <[email protected]> you wrote:
> Andre Hedrick wrote:

> However as far as I can see everyone who has a FastTrak which is "stuck"
> in RAID mode[1] would be happy if it worked as a normal IDE controller
> in Linux, which is (usually?) not the case - eg on the MSI board where
> only the first channel is seen.

I have a patch to work around that. However the better solution would be to
have a native driver for the raid; I plan to start working on that next
week...

Greetings,
Arjan van de Ven

2001-04-13 22:15:46

by Erik van Asselt

[permalink] [raw]
Subject: Re: Help with Fasttrack/100 Raid on Linux

That would be great!!!!!
finally someone is coming to the rescue
do you have the source files or are you going to work from scratch?

Erik

Arjan van de Ven schreef:

> In article <[email protected]> you wrote:
> > Andre Hedrick wrote:
>
> > However as far as I can see everyone who has a FastTrak which is "stuck"
> > in RAID mode[1] would be happy if it worked as a normal IDE controller
> > in Linux, which is (usually?) not the case - eg on the MSI board where
> > only the first channel is seen.
>
> I have a patch to work around that. However the better solution would be to
> have a native driver for the raid; I plan to start working on that next
> week...
>
> Greetings,
> Arjan van de Ven
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2001-04-16 20:27:51

by Wilfried Weissmann

[permalink] [raw]
Subject: Re: Help with Fasttrack/100 Raid on Linux

Arjan van de Ven wrote:
>
> In article <[email protected]> you wrote:
> > Andre Hedrick wrote:
>
> > However as far as I can see everyone who has a FastTrak which is "stuck"
> > in RAID mode[1] would be happy if it worked as a normal IDE controller
> > in Linux, which is (usually?) not the case - eg on the MSI board where
> > only the first channel is seen.
>
> I have a patch to work around that. However the better solution would be to
> have a native driver for the raid; I plan to start working on that next
> week...

I am doing the same for the HighPoint-Tech 370 (talking about the RAID driver). Disk-striping is
working so far. My code is based on the kernel patches for MDs from Neil Brown. I created an own
RAID-personality for the module.
When I looked at the FreeBSD implementation I had the idea of making a "supermodule" which could
contain serveral IDE-RAID drivers (e.g.: Proise FastTrack + HPT370). There would be a super
personality for ATA-RAID and several low-level drivers for the individual controllers.

Interrested? Ideas? Hints, Tips, ...? Wanna team up? <8)

>
> Greetings,
> Arjan van de Ven

regards,
Wilfried

PS: An uppercase THANX goes to Nail Brown!

--
Wilfried Weissmann ( mailto:[email protected] )
Mobile: +43 676 9444465

2001-04-16 20:52:14

by Andre Hedrick

[permalink] [raw]
Subject: Re: Help with Fasttrack/100 Raid on Linux


Wilfried,

Why a module?
Why not have the detection and flags that hook the md driver for linux and
use linux's software raid?

Cheers,

On Mon, 16 Apr 2001, Wilfried Weissmann wrote:

> Arjan van de Ven wrote:
> >
> > In article <[email protected]> you wrote:
> > > Andre Hedrick wrote:
> >
> > > However as far as I can see everyone who has a FastTrak which is "stuck"
> > > in RAID mode[1] would be happy if it worked as a normal IDE controller
> > > in Linux, which is (usually?) not the case - eg on the MSI board where
> > > only the first channel is seen.
> >
> > I have a patch to work around that. However the better solution would be to
> > have a native driver for the raid; I plan to start working on that next
> > week...
>
> I am doing the same for the HighPoint-Tech 370 (talking about the RAID driver). Disk-striping is
> working so far. My code is based on the kernel patches for MDs from Neil Brown. I created an own
> RAID-personality for the module.
> When I looked at the FreeBSD implementation I had the idea of making a "supermodule" which could
> contain serveral IDE-RAID drivers (e.g.: Proise FastTrack + HPT370). There would be a super
> personality for ATA-RAID and several low-level drivers for the individual controllers.
>
> Interrested? Ideas? Hints, Tips, ...? Wanna team up? <8)
>
> >
> > Greetings,
> > Arjan van de Ven
>
> regards,
> Wilfried
>
> PS: An uppercase THANX goes to Nail Brown!
>
> --
> Wilfried Weissmann ( mailto:[email protected] )
> Mobile: +43 676 9444465
>

Andre Hedrick
Linux ATA Development
ASL Kernel Development
-----------------------------------------------------------------------------
ASL, Inc. Toll free: 1-877-ASL-3535
1757 Houret Court Fax: 1-408-941-2071
Milpitas, CA 95035 Web: http://www.aslab.com

2001-04-17 12:08:53

by Wilfried Weissmann

[permalink] [raw]
Subject: Re: Help with Fasttrack/100 Raid on Linux

Andre Hedrick wrote:
>
> Wilfried,
>
> Why a module?

The idea behind that was that, if it is a seperate module, then it would be easier to maintain for
me. I am a guy that always needs the newest and greatest, so I expected that I would have to port my
stuff to newer kernels frequently. (I started the HPT-RAID0 alone without much knowledge about the
kernel.)

> Why not have the detection and flags that hook the md driver for linux and
> use linux's software raid?

I could not use the disk striping, because of the raid0 code is not capable of processing a request
what would span more than one disk. You also have to shift the offset of all but the first disk by
10 sectors. So I created an own personality...

I also guess it would be a bit complicated if we want to create a raid10. Is this done by putting a
raid1 over raid0 devices? We would have to find a way to map the sectors according to the IDE-RAID
spec of the controller over several raid levels.
An ataraid personality would be easier and more flexible then.

regards,
Wilfried

>
> Cheers,
>
> On Mon, 16 Apr 2001, Wilfried Weissmann wrote:
>
> > Arjan van de Ven wrote:
> > >
> > > In article <[email protected]> you wrote:
> > > > Andre Hedrick wrote:
> > >
> > > > However as far as I can see everyone who has a FastTrak which is "stuck"
> > > > in RAID mode[1] would be happy if it worked as a normal IDE controller
> > > > in Linux, which is (usually?) not the case - eg on the MSI board where
> > > > only the first channel is seen.
> > >
> > > I have a patch to work around that. However the better solution would be to
> > > have a native driver for the raid; I plan to start working on that next
> > > week...
> >
> > I am doing the same for the HighPoint-Tech 370 (talking about the RAID driver). Disk-striping is
> > working so far. My code is based on the kernel patches for MDs from Neil Brown. I created an own
> > RAID-personality for the module.
> > When I looked at the FreeBSD implementation I had the idea of making a "supermodule" which could
> > contain serveral IDE-RAID drivers (e.g.: Proise FastTrack + HPT370). There would be a super
> > personality for ATA-RAID and several low-level drivers for the individual controllers.
> >
> > Interrested? Ideas? Hints, Tips, ...? Wanna team up? <8)
> >
> > >
> > > Greetings,
> > > Arjan van de Ven
> >
> > regards,
> > Wilfried
> >
> > PS: An uppercase THANX goes to Nail Brown!

^Nail^Neil

>
> Andre Hedrick
> Linux ATA Development
> ASL Kernel Development
> -----------------------------------------------------------------------------
> ASL, Inc. Toll free: 1-877-ASL-3535
> 1757 Houret Court Fax: 1-408-941-2071
> Milpitas, CA 95035 Web: http://www.aslab.com

--
Wilfried Weissmann ( mailto:[email protected] )
Mobile: +43 676 9444465

2001-04-18 02:45:10

by Andre Hedrick

[permalink] [raw]
Subject: Re: Help with Fasttrack/100 Raid on Linux

On Tue, 17 Apr 2001, Wilfried Weissmann wrote:

> Andre Hedrick wrote:
> >
> > Wilfried,
> >
> > Why a module?
>
> The idea behind that was that, if it is a seperate module, then it would be easier to maintain for
> me. I am a guy that always needs the newest and greatest, so I expected that I would have to port my
> stuff to newer kernels frequently. (I started the HPT-RAID0 alone without much knowledge about the
> kernel.)
>
> > Why not have the detection and flags that hook the md driver for linux and
> > use linux's software raid?
>
> I could not use the disk striping, because of the raid0 code is not capable of processing a request
> what would span more than one disk. You also have to shift the offset of all but the first disk by
> 10 sectors. So I created an own personality...
>
> I also guess it would be a bit complicated if we want to create a raid10. Is this done by putting a
> raid1 over raid0 devices? We would have to find a way to map the sectors according to the IDE-RAID
> spec of the controller over several raid levels.
> An ataraid personality would be easier and more flexible then.
>
> regards,
> Wilfried

Hello Wilfried,

The really easy thing to do is to come up with the personality rules you
want to se and let me create the API. I can make drives talk, listen,
dance, spin, flip, etc.....

Raid 0 and Raid 1 are cakewalks, if you have the right tools.
These will be around in 2.5.

All you need to do is tell me what you want the subsystem to do.
When you want it done and the observer's view of the operations.

I can do things like threaded-parallel PRD building for DMA with the tap
of a keystroke of two. I can commit the purfect lie in storage and
destroke a drive to the view of the OS and then do switch-buffer PRD
building. If you want it on 2,3,4,N drives I can do it with fast simple
legal trick code.

During INIT process I can protect the drive in ways you have never
considered. I can access the whole drive even of the OS only knows only a
portion of the real capacity. And I do not need silly and foolosh means
like "bread". I tell it, "Hey dude, we are running under a lie. Go sneak
off to the head or tail of the drive and get me that raid-voodoo-bios-os
communication transport layer, and do it ins DMA modes, NOW!"

I do not have the desire to do personality tables, but I can.

We will not need any new majors because there is plenty of space in the
ones we have, and 128 minors/channel is enough to do anything.

If you want to do your module cool, but I promise you it will break in 2.5
and you will not know for months what hit you. I personally would like to
avoid this issue of wreckin work. Second, if you think changes to the
driver made by you have a chance in hell to make the kernel, I am not
allowed to fixed the driver today to address the needs and correct current
issues and ones coming down the pipe.

With about 96% of all linux boxes in the world dependent on some form of
ATA/ATAPI, Linus and Alan are very sensitive to even the sligthest change.

Cheers,

Andre Hedrick
Linux ATA Development
ASL Kernel Development
-----------------------------------------------------------------------------
ASL, Inc. Toll free: 1-877-ASL-3535
1757 Houret Court Fax: 1-408-941-2071
Milpitas, CA 95035 Web: http://www.aslab.com

2001-04-18 19:59:12

by Wilfried Weissmann

[permalink] [raw]
Subject: Re: Help with Fasttrack/100 Raid on Linux

Andre Hedrick wrote:
>
> On Tue, 17 Apr 2001, Wilfried Weissmann wrote:
>
> > Andre Hedrick wrote:
> > >
> > > Wilfried,
> > >
> > > Why a module?
> >
> > The idea behind that was that, if it is a seperate module, then it would be easier to maintain for
> > me. I am a guy that always needs the newest and greatest, so I expected that I would have to port my
> > stuff to newer kernels frequently. (I started the HPT-RAID0 alone without much knowledge about the
> > kernel.)
> >
> > > Why not have the detection and flags that hook the md driver for linux and
> > > use linux's software raid?
[snip]

>
> Hello Wilfried,

Hello Andre,

You completely confused me. Attemts to get an idea of what is going on
are inline.

>
> The really easy thing to do is to come up with the personality rules you
> want to se and let me create the API. I can make drives talk, listen,
> dance, spin, flip, etc.....
>
> Raid 0 and Raid 1 are cakewalks, if you have the right tools.
> These will be around in 2.5.
>
> All you need to do is tell me what you want the subsystem to do.
> When you want it done and the observer's view of the operations.
>
> I can do things like threaded-parallel PRD building for DMA with the tap
> of a keystroke of two. I can commit the purfect lie in storage and
> destroke a drive to the view of the OS and then do switch-buffer PRD
> building. If you want it on 2,3,4,N drives I can do it with fast simple
> legal trick code.
>
> During INIT process I can protect the drive in ways you have never
> considered. I can access the whole drive even of the OS only knows only a
> portion of the real capacity. And I do not need silly and foolosh means
> like "bread". I tell it, "Hey dude, we are running under a lie. Go sneak
> off to the head or tail of the drive and get me that raid-voodoo-bios-os
> communication transport layer, and do it ins DMA modes, NOW!"

"voodoo" would be the sector where the raid configuration is stored
then, right!? Maybe I did not understand you properly...

I am really trying to understand what you want to do. From what I have
seen this would go into kernel 2.5 first. For now there appears to be no
information or this-would-be-new-in-2.5 list available of new
development kernel so far, so I have to use my fantasy even more.
So you want to introduce a new layer between the MD driver and the ATA
HDs of IDE-RAIDs. This code would be placed in the ide-chipset driver.
Configuration happens at system startup after the chipset is in service.
There you read the config-sector (e.g. sector 9 on HPTs) of the disks
and datafill your configuration tables. Plus you start one (or more) MD
device with the according raid level(s). The MD then accesses your layer
instead of talking directly to the disk driver, and the requests are
mapped (buffer_head->rsector+10 with the HPTs) as the bios would do it.
But the raid is still handled by MD. So you can completely reuse the
raid code for all that.
Pardon me, but please tell me that I am wrong, because this sounds odd
to me! <:(

Talking about the API... These should be the basic steps that we need to
do (unordered, this is just brainstorming):

*) device_size_calculation() should use a callback of the raid level to
get the device size. Or the code should be completly moved over to the
<raid level>_run()'s.

*) Hide/unhide disks from the userland (this is just a cosmetic issue).

*) Shift sectors and shrink capacity of disks so that the existing raid
levels can access the disks according to the ata-raid layout.

*) Get the configuration sector from disk. Analyse the configuration and
setup disks and md-devices.

*) All raid pers. must be able to handle I/O that requests sectors from
more than only one disk.

*) Partitioned raid devices must be handled somehow.

>
> I do not have the desire to do personality tables, but I can.
>
> We will not need any new majors because there is plenty of space in the
> ones we have, and 128 minors/channel is enough to do anything.
>
> If you want to do your module cool, but I promise you it will break in 2.5
> and you will not know for months what hit you. I personally would like to
> avoid this issue of wreckin work. Second, if you think changes to the
> driver made by you have a chance in hell to make the kernel, I am not
> allowed to fixed the driver today to address the needs and correct current
> issues and ones coming down the pipe.
>
> With about 96% of all linux boxes in the world dependent on some form of
> ATA/ATAPI, Linus and Alan are very sensitive to even the sligthest change.

I would avoid to change anything there, but do a raid personality...
Well, we are back at our your solution vs. my raid personality
discussion again!

>
> Cheers,
>
> Andre Hedrick

bye,
Wilfried

> Linux ATA Development
> ASL Kernel Development
> -----------------------------------------------------------------------------
> ASL, Inc. Toll free: 1-877-ASL-3535
> 1757 Houret Court Fax: 1-408-941-2071
> Milpitas, CA 95035 Web: http://www.aslab.com

--
Wilfried Weissmann ( mailto:[email protected] )
Mobile: +43 676 9444465

2001-04-19 16:33:53

by Wilfried Weissmann

[permalink] [raw]
Subject: Re: Help with Fasttrack/100 Raid on Linux

Wilfried Weissmann wrote:
>
> Andre Hedrick wrote:
> >
> > The really easy thing to do is to come up with the personality rules you
> > want to se and let me create the API. I can make drives talk, listen,
> > dance, spin, flip, etc.....

[snip]

> Talking about the API... These should be the basic steps that we need to
> do (unordered, this is just brainstorming):
>
> *) device_size_calculation() should use a callback of the raid level to
> get the device size. Or the code should be completly moved over to the
> <raid level>_run()'s.
>
> *) Hide/unhide disks from the userland (this is just a cosmetic issue).
>
> *) Shift sectors and shrink capacity of disks so that the existing raid
> levels can access the disks according to the ata-raid layout.
>
> *) Get the configuration sector from disk. Analyse the configuration and
> setup disks and md-devices.
>
> *) All raid pers. must be able to handle I/O that requests sectors from
> more than only one disk.
>
> *) Partitioned raid devices must be handled somehow.

OK, partitions are already handeled!

One additional thing: I am thinking were to put the configuration
detection code. For now I will try to put it at the end of md_init().
But I still have to figure out how I can read the config sector and
start a new md.
An API interface for that would also be great! My solution can only be
an ugly work-around. md_init() just seems not to be the right function
for that.

regards,
Wilfried

PS: I do not want to flood lkml with my stuff. Should we discuss this in
private?

--
Wilfried Weissmann ( mailto:[email protected] )
Mobile: +43 676 9444465

2001-04-22 04:12:09

by Andre Hedrick

[permalink] [raw]
Subject: Re: Help with Fasttrack/100 Raid on Linux

On Wed, 18 Apr 2001, Wilfried Weissmann wrote:

> > off to the head or tail of the drive and get me that raid-voodoo-bios-os
> > communication transport layer, and do it ins DMA modes, NOW!"
>
> "voodoo" would be the sector where the raid configuration is stored
> then, right!? Maybe I did not understand you properly...

We are on the same page, good.

> I am really trying to understand what you want to do. From what I have
> seen this would go into kernel 2.5 first. For now there appears to be no
> information or this-would-be-new-in-2.5 list available of new
> development kernel so far, so I have to use my fantasy even more.
> So you want to introduce a new layer between the MD driver and the ATA
> HDs of IDE-RAIDs. This code would be placed in the ide-chipset driver.
> Configuration happens at system startup after the chipset is in service.
> There you read the config-sector (e.g. sector 9 on HPTs) of the disks
> and datafill your configuration tables. Plus you start one (or more) MD
> device with the according raid level(s). The MD then accesses your layer
> instead of talking directly to the disk driver, and the requests are
> mapped (buffer_head->rsector+10 with the HPTs) as the bios would do it.
> But the raid is still handled by MD. So you can completely reuse the
> raid code for all that.
> Pardon me, but please tell me that I am wrong, because this sounds odd
> to me! <:(
>
> Talking about the API... These should be the basic steps that we need to
> do (unordered, this is just brainstorming):
>
> *) device_size_calculation() should use a callback of the raid level to
> get the device size. Or the code should be completly moved over to the
> <raid level>_run()'s.
>
> *) Hide/unhide disks from the userland (this is just a cosmetic issue).

Disks must be visable, always, but blocked from direct mounting.

> *) Shift sectors and shrink capacity of disks so that the existing raid
> levels can access the disks according to the ata-raid layout.

Yep.

> *) Get the configuration sector from disk. Analyse the configuration and
> setup disks and md-devices.

Yep and update the status of the raid if we have a device fail.

> *) All raid pers. must be able to handle I/O that requests sectors from
> more than only one disk.

Yep

> *) Partitioned raid devices must be handled somehow.

Yep

> >
> > I do not have the desire to do personality tables, but I can.

> > With about 96% of all linux boxes in the world dependent on some form of
> > ATA/ATAPI, Linus and Alan are very sensitive to even the sligthest change.
>
> I would avoid to change anything there, but do a raid personality...
> Well, we are back at our your solution vs. my raid personality
> discussion again!

No we are back to your "raid personality", and a functional API to the
ATA driver.

This is probably the first and last time I will openly agree for someone
to tell me were to go, and do it ;-).

You tell me what you want the driver to do, and I will make it happen.
It will be legal and technically correct. Does that sound like a good
idea?

Cheers,

Andre Hedrick
Linux ATA Development
ASL Kernel Development
-----------------------------------------------------------------------------
ASL, Inc. Toll free: 1-877-ASL-3535
1757 Houret Court Fax: 1-408-941-2071
Milpitas, CA 95035 Web: http://www.aslab.com

2001-04-25 15:04:48

by Wilfried Weissmann

[permalink] [raw]
Subject: Re: Help with Fasttrack/100 Raid on Linux

Hello Andre,

Sorry for responding a little late. I spent some time in the big blue
room (not that is was that blue lately!).

Andre Hedrick wrote:
>
> On Wed, 18 Apr 2001, Wilfried Weissmann wrote:
>
> > > off to the head or tail of the drive and get me that raid-voodoo-bios-os
> > > communication transport layer, and do it ins DMA modes, NOW!"
> >
> > "voodoo" would be the sector where the raid configuration is stored
> > then, right!? Maybe I did not understand you properly...
>
> We are on the same page, good.

OK, and here it is (I extracted this out of the *BSD ata-raid.h):

This is the hpt-raid config block located at offset 0x1220 (sector 9).
All data is stored in little endian format.

0x0020 32 bits; magic cookie
0x5a7816f0 for good array
0x5a7816fd for bad array

0x0024 32 bits; raid volume cookie
used to distinguish between raid volumes

0x0028 32 bits; raid-10 volume cookie ???

0x002C 32 bits; order bitmask
0x04 status is OK
0x02 striping
0x01 mirroring
Note: bits 0 and 1 appear to matter only in raid 10

0x0030 8 bits; disks in array

0x0031 8 bits; chunksize (1U << (*this+9))

0x0032 8 bits; raid level
0x00 raid 0
0x01 raid 1
0x02 raid 10 & raid 0 (not supported)
0x03 span
0x04 raid 3 (not supported)
0x05 raid 5 (not supported)
0x06 single disk
0x07 raid 10 & raid 1 (not supported)
Note: raid 10 is done with raid level = raid 0 and order = ( mirroring
| striping )

0x0033 8 bits; disk number in array

0x0034 32 bits; raid volume size in sectors

0x0038 32 bits; disk mode ???

0x003C 32 bits; boot mode ???

0x0040 8 bits; boot disk ???

0x0041 8 bits; boot protect ???

0x0042 8 bits; error log entries

0x0043 8 bits error log index

0x0044 32x error entries
32 bits; timestamp
8 bits; reason (0xFF=broken, 0xFE=removed)
8 bits; disk
8 bits; status
8 bits; sectors
32 bits; lba

Mine looks like this:
001220 f0 16 78 5a b3 04 b3 84 00 00 00 00 04 00 00 00
001230 02 05 00 00 c0 2a 28 07 00 00 00 00 78 56 34 12
001240 a5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
001250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
This is the signature of the first disk in a raid0 with 2 30GB disks and
16k chunk size.


Everything related to raid 10 is a bit weird, and I am not sure if the
BSD code is 100% accurate there. I am goint to install Abit's Gentus on
my system. This distro states that it supports most Abit hw quite well.
Maybe there is some good sourcecode somewhere...

[snip]

> > > I do not have the desire to do personality tables, but I can.
>
> > > With about 96% of all linux boxes in the world dependent on some form of
> > > ATA/ATAPI, Linus and Alan are very sensitive to even the sligthest change.
> >
> > I would avoid to change anything there, but do a raid personality...
> > Well, we are back at our your solution vs. my raid personality
> > discussion again!
>
> No we are back to your "raid personality", and a functional API to the
> ATA driver.

So you want that an ata raid level reuses the existing raid code?

> This is probably the first and last time I will openly agree for someone
> to tell me were to go, and do it ;-).

Well, I guess that is the reason why people keep kicking and banning me
from IRC channels...

> You tell me what you want the driver to do, and I will make it happen.
> It will be legal and technically correct. Does that sound like a good
> idea?

Perfect! Since FreeBSD supports that controller, do you think Highpoint
would provide us "offical" documentation? Or do you already have some?

Do you want to have a look at my module? As I said only raid 0 is
implemented, but anyway...

I try to get written down what HPT would need from the API in hard
facts.

bye,
Wilfried

--
Wilfried Weissmann ( mailto:[email protected] )
Mobile: +43 676 9444465