Well, there goes Windows!
Nathan Whitehorn
nwhitehorn at freebsd.org
Mon Aug 22 00:00:22 UTC 2011
On 08/21/11 18:11, Marcel Moolenaar wrote:
> On Aug 21, 2011, at 2:32 PM, Nathan Whitehorn wrote:
>> gpart does not support (well, anyway) changing the underlying partition table format without committing changes. Replacing the partition scheme, which this does, is such an operation.
> Weird. I could always destroy tables, create new ones using a
> different scheme and populate it with partitions without there
> being a single write to disk. The commit/undo logic worked
> just as well for those operations as the simpler ones. Did that
> get broken or are you just mistaken?
>
No, it's stupider than that. When you destroy a gpart without
committing, the GEOM itself lingers as a (none)-type partitioning. This
of course makes sense, since that ghost geom is what is maintaining all
the state, but sometimes causes problems. For instance, it breaks some
of my lazy code that identifies non-partitioned disks by seeing if
there is a GEOM there. But, while slightly more complicated to detect,
this would not be too difficult to fix.
The larger problem is that this behavior means that destroying gparts
sometimes doesn't work at all. For instance, if you have nested
partitioning like MBR+BSD (or EBR) it is not possible to destroy the
underlying MBR geom without committing the destruction of the BSD geom.
This is because the MBR geom cannot be destroyed, even without
committing, while it continues to have children, which it does due to
the ghost geom for the BSD slice.
The regular partitioning editor only commits early in this particular
case, and asks about each subpartition tree separately with a big scary
dialog box. In the spirit of the autopartitioner, it makes one large
scary dialog, and always runs in early commit mode instead of
potentially showing many scary dialogs about partitions the user doesn't
necessarily even know about. This behavior could be changed, but I think
is the most friendly for the case in question: namely, "I want to blow
away everything and let the installer handle all partitioning details by
itself".
-Nathan
More information about the freebsd-current
mailing list