some comments on geom(8)

Poul-Henning Kamp phk at phk.freebsd.dk
Thu May 20 03:42:41 PDT 2004


These are merely comments and not binding in any way.

The idea behind the gctl_*(9) api was to avoid class specific code
in userland to the extent possible and to converge on a common command
set for geom classes to make life easier and more intuitive for
administrators.

For a simple operation like "create", I have a hard time seeing why
we need class specific code in userland.

I would expect to be able to type:

	create stripe ad0s1 ad1s1

into geom(8) and see it construct a g_ctl containing:

	verb		"create"
	class		"stripe"
	nprovider	"2"
	provider0	"ad0s1"
	provider1	"ad1s1"

which I would expect the geom_stripe class in the kernel to understand.

If I had typed

	create stripe -stripe 64 ad0s1 ad1s1

It would be:

	verb		"create"
	class		"stripe"
	nprovider	"2"
	provider0	"ad0s1"
	provider1	"ad1s1"
	stripe		"64"

Similar
	destroy foobar
should examine the XML status to find the class of the "foobar"
generate something like:

	verb		"destroy"
	class		"foo"
	target		"foobar"

But as I said: these are non-binding comments, do it which ever 
way makes sense to you guys.

Poul-Henning

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at 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.


More information about the freebsd-geom mailing list