Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Nov 2010 12:00:23 -0600 (CST)
From:      Greg Rivers <gcr+freebsd-geom@tharned.org>
To:        "Andrey V. Elsukov" <bu7cher@yandex.ru>
Cc:        Marcel Moolenaar <marcel@freebsd.org>, freebsd-geom@freebsd.org
Subject:   Re: backup a partition table with gpart(8)
Message-ID:  <alpine.BSF.2.00.1011181137250.69496@roadkill.tharned.org>
In-Reply-To: <4CE505B2.6010601@yandex.ru>
References:  <4CE505B2.6010601@yandex.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 18 Nov 2010, Andrey V. Elsukov wrote:

> Hi, Marcel and All.
>
> I'm thinking about such feature like ability to dump partition table 
> into file from which it can be recovered in the future. Also it can be 
> used to copy partition table to another device.
>
> At the moment i think that just print out a list of commands that should 
> be done to create the same table it is the easiest way.
> For example:
>> gpart show ada1
> =>       34  320172989  ada1  GPT  (153G)
>         34        512     1  freebsd-boot  (256K)
>        546    8388608     2  freebsd-swap  (4.0G)
>    8389154  311783869     3  freebsd-zfs  (149G)
>
>> gpart dump -f x ada1
> geom part create -s gpt -f x ada1
> geom part add -b 34 -s 512 -i 1 -t freebsd-boot -f x ada1
> geom part add -b 546 -s 8388608 -i 2 -t freebsd-swap -f x ada1
> geom part add -b 8389154 -s 311783869 -i 3 -t freebsd-zfs -f x ada1
>
> Any comments and ideas are welcome.
>

I think this is a great idea.  But why not make gpart eat it's own dog 
food like bsdlabel(8) does?

The output of bsdlabel is a simple text file that's easy for humans to 
read and edit.  bsdlabel takes this very same output as input (-R). 
bsdlabel also supports wildcards on input, so it will compute 
starts/offsets for you.  And bsdlabel makes it easy to change an existing 
label by opening the editor on it (-e).

So instead of a special dump command or complicated XML formatting, just 
make "gpart show" output suitable for input (it's probably already close), 
and add the verb to read that input ("gpart read" or "gpart apply" or 
such).  Add the ability to handle wildcards and run the editor, and gpart 
could be as friendly to use as bsdlabel is.

-- 
Greg



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1011181137250.69496>