Date: Mon, 21 Oct 2002 10:16:39 +0200 From: Poul-Henning Kamp <phk@critter.freebsd.dk> To: Scott Long <scott_long@btc.adaptec.com> Cc: Scott Long <scottl@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/etc MAKEDEV src/sbin/raidctl Makefile raidctl.8 raidctl.c rf_configure.c src/share/man/man4 Makefile raid.4 src/sys/conf NOTES files majors options src/sys/dev/raidframe rf_acctrace.c rf_acctrace.h rf_alloclist.c rf_alloclist.h ... Message-ID: <1787.1035188199@critter.freebsd.dk> In-Reply-To: Your message of "Sun, 20 Oct 2002 20:36:17 MDT." <20021021023616.GA79165@hollin.btc.adaptec.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <20021021023616.GA79165@hollin.btc.adaptec.com>, Scott Long writes:
>So now there are 3 software RAID implementations in FreeBSD.
RARI (Redundant Array of Raid Implementations) ? :-)
My hope, (it isn't quite a plan yet) is that we can write/rewrite
some really good fundamental algorithms as individual GEOM
"class-lets":
1-N mirroring
N-1 striping
N-1 concatenation
RAID5
etc.
Various "real" classes would then implement the necessary recognition
and configuration code, and employ the class-lets to do the real
work.
This is more or less the same way it's done with slicers now:
we have a geom_slice class-let, and geom_bsd, geom_mbr ...
classes which just configure the geom_slice to do the work.
Once we get past 5.0-R, I plan to pull ccd into GEOM this way
and use that for prototyping the APIs.
After that I would like to get the ATA-raid stuff migrated.
And that, I must confess is as far as my aspirations go right
now, vinum and raidframe are both out of scope for me, but I
will of course help out as best I can.
Here are a dump of my GEOM class idea sheet, if anybody wants
a neat project, I'll be happy to hand out:
geom_secsize
Change the appearant sectorsize of a device up or down.
This, amongst other things, can be used to test filesystems
and other code for sectorsize agnostism. It can probably
also simulate "block devices" well enough to fool VMWARE.
geom_wipe
This changes BIO_DELETE to BIO_WRITE and as such implements
a basic secure erase function for filesystems which issue
BIO_DELETE requests.
geom_murphy
A geom_class with configurable lossage usable for testing.
geom_integ
A geom class which saves a MD5 sum of each sector and checks
that it reads back the same. Useful for testing of drivers
and geom classes.
geom_udp
A simple network-disk client implementation.
Server is a userland process.
geom_mirror
1-N mirroring classlet
geom_stripe
N-1 striping classlet
geom_concat
N-1 concatenation classlet
geom_ccd
CCD compatibility class.
geom_oops
Implements copy-on-write and commit/abandon facilities.
Could possibly do snapshots as well.
The list goes ever ever on...
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1787.1035188199>
