diff options
author | cracauer <cracauer@FreeBSD.org> | 2006-04-13 20:35:31 +0000 |
---|---|---|
committer | cracauer <cracauer@FreeBSD.org> | 2006-04-13 20:35:31 +0000 |
commit | 452517900b740c1fd397a45dd60e21139e4ff858 (patch) | |
tree | e57019f9c8880c0c23b44e552f1fd6f71f1890a3 /sbin/ccdconfig/ccdconfig.c | |
parent | 65aeb543f38c35372f717f654ab9ddab09e77d7b (diff) | |
download | FreeBSD-src-452517900b740c1fd397a45dd60e21139e4ff858.zip FreeBSD-src-452517900b740c1fd397a45dd60e21139e4ff858.tar.gz |
Make CCD be able to read and write Linux software raids.
Supported for raid-0 with <n> disks, raid-1 with 2 disks.
Manpages have examples, warnings etc.
Test scripts on
http://www.cons.org/cracauer/ccdconfig-linux/
Reviewed by: alfred
Diffstat (limited to 'sbin/ccdconfig/ccdconfig.c')
-rw-r--r-- | sbin/ccdconfig/ccdconfig.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sbin/ccdconfig/ccdconfig.c b/sbin/ccdconfig/ccdconfig.c index 0c584ff..928aba5 100644 --- a/sbin/ccdconfig/ccdconfig.c +++ b/sbin/ccdconfig/ccdconfig.c @@ -50,6 +50,8 @@ __FBSDID("$FreeBSD$"); #define CCDF_UNIFORM 0x02 /* use LCCD of sizes for uniform interleave */ #define CCDF_MIRROR 0x04 /* use mirroring */ +#define CCDF_NO_OFFSET 0x08 /* do not leave space in front */ +#define CCDF_LINUX 0x10 /* use Linux compatibility mode */ #include "pathnames.h" @@ -65,6 +67,10 @@ struct flagval { { "uniform", CCDF_UNIFORM }, { "CCDF_MIRROR", CCDF_MIRROR }, { "mirror", CCDF_MIRROR }, + { "CCDF_NO_OFFSET", CCDF_NO_OFFSET }, + { "no_offset", CCDF_NO_OFFSET }, + { "CCDF_LINUX", CCDF_LINUX }, + { "linux", CCDF_LINUX }, { "none", 0 }, { NULL, 0 }, }; @@ -245,6 +251,10 @@ do_single(int argc, char **argv, int action) gctl_ro_param(grq, "uniform", -1, ""); if (flags & CCDF_MIRROR) gctl_ro_param(grq, "mirror", -1, ""); + if (flags & CCDF_NO_OFFSET) + gctl_ro_param(grq, "no_offset", -1, ""); + if (flags & CCDF_LINUX) + gctl_ro_param(grq, "linux", -1, ""); gctl_ro_param(grq, "nprovider", sizeof(argc), &argc); for (i = 0; i < argc; i++) { sprintf(buf1, "provider%d", i); |