New g_part class

Poul-Henning Kamp phk at phk.freebsd.dk
Thu Feb 8 10:33:29 UTC 2007


In message <45CAFA66.3030800 at fer.hr>, Ivan Voras writes:
>Poul-Henning Kamp wrote:
>> In message <eqdfjm$5c3$1 at sea.gmane.org>, Ivan Voras writes:
>>> span the whole disk, thus conflict with gmirror which wants to use the
>>> last sector.
>> 
>> And just how does "the last sector" not occupy the same sector as
>> the last sector of the last mounted partition ?
>
>A joke? :)
>
>(in case it isn't: that's the point: it DOES, so people can't create
>mirrors of live paritions. But, like I said, I realize there's no
>elegant solution).

The correct solution is a lot of code, and all you gain is that
you save a single reboot.

Ideal Computer Science Method:

	* use mount to tell filesystem to avoid last sector.
	* use gctl to tell slicer to reduce parition by last sector
	* implement new API so slicer can ask consumer (filesystem)
	    if reducing size is OK.
	* use gctl to tell slicer to avoid last sector.
	* use gctl to insert mirror class below slicer
	* use gctl to tell mirror class to write metadata

Practically Sensible Method:

	* boot single user (possibly from CD)
	* use fsdb or growfs to reduce filesystem size
	* reduce partition size
	* use gmirror to write metadata
	* reboot

-- 
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