Implement the set and unset verbs. While here, have the manpage
catch up with various changes.
This commit is contained in:
parent
1fee86b4dc
commit
b12551bbfa
@ -1,5 +1,5 @@
|
||||
/*-
|
||||
* Copyright (c) 2007 Marcel Moolenaar
|
||||
* Copyright (c) 2007, 2008 Marcel Moolenaar
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -108,6 +108,13 @@ struct g_command PUBSYM(class_commands)[] = {
|
||||
G_OPT_SENTINEL },
|
||||
"geom", NULL
|
||||
},
|
||||
{ "set", 0, NULL, {
|
||||
{ 'a', "attrib", NULL, G_TYPE_STRING },
|
||||
{ 'i', index_param, NULL, G_TYPE_STRING },
|
||||
{ 'f', "flags", flags, G_TYPE_STRING },
|
||||
G_OPT_SENTINEL },
|
||||
"geom", NULL
|
||||
},
|
||||
{ "show", 0, gpart_show, {
|
||||
{ 'l', "show_label", NULL, G_TYPE_BOOL },
|
||||
{ 'r', "show_rawtype", NULL, G_TYPE_BOOL },
|
||||
@ -115,6 +122,13 @@ struct g_command PUBSYM(class_commands)[] = {
|
||||
NULL, "[-lr] [geom ...]"
|
||||
},
|
||||
{ "undo", 0, NULL, G_NULL_OPTS, "geom", NULL },
|
||||
{ "unset", 0, NULL, {
|
||||
{ 'a', "attrib", NULL, G_TYPE_STRING },
|
||||
{ 'i', index_param, NULL, G_TYPE_STRING },
|
||||
{ 'f', "flags", flags, G_TYPE_STRING },
|
||||
G_OPT_SENTINEL },
|
||||
"geom", NULL
|
||||
},
|
||||
G_CMD_SENTINEL
|
||||
};
|
||||
|
||||
@ -206,6 +220,19 @@ fmtsize(long double rawsz)
|
||||
return (buf);
|
||||
}
|
||||
|
||||
static const char *
|
||||
fmtattrib(struct gprovider *pp)
|
||||
{
|
||||
static char buf[64];
|
||||
const char *val;
|
||||
|
||||
val = find_provcfg(pp, "attrib");
|
||||
if (val == NULL)
|
||||
return ("");
|
||||
snprintf(buf, sizeof(buf), " [%s] ", val);
|
||||
return (buf);
|
||||
}
|
||||
|
||||
static void
|
||||
gpart_show_geom(struct ggeom *gp, const char *element)
|
||||
{
|
||||
@ -244,10 +271,10 @@ gpart_show_geom(struct ggeom *gp, const char *element)
|
||||
wname, "",
|
||||
fmtsize((sector - first) * secsz));
|
||||
}
|
||||
printf(" %*llu %*llu %*d %s (%s)\n",
|
||||
printf(" %*llu %*llu %*d %s %s (%s)\n",
|
||||
wblocks, sector, wblocks, end - sector,
|
||||
wname, idx,
|
||||
find_provcfg(pp, element), fmtsize(pp->lg_mediasize));
|
||||
wname, idx, find_provcfg(pp, element),
|
||||
fmtattrib(pp), fmtsize(pp->lg_mediasize));
|
||||
first = end;
|
||||
}
|
||||
if (first <= last) {
|
||||
|
@ -24,7 +24,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd Jun 6, 2008
|
||||
.Dd Jun 17, 2008
|
||||
.Dt GPART 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -106,6 +106,13 @@ utility:
|
||||
.Op Fl t Ar type
|
||||
.Op Fl f Ar flags
|
||||
.Ar geom
|
||||
.\" ==== SET ====
|
||||
.Nm
|
||||
.Cm set
|
||||
.Fl a Ar attrib
|
||||
.Fl i Ar index
|
||||
.Op Fl f Ar flags
|
||||
.Ar geom
|
||||
.\" ==== SHOW ====
|
||||
.Nm
|
||||
.Cm show
|
||||
@ -114,6 +121,13 @@ utility:
|
||||
.Nm
|
||||
.Cm undo
|
||||
.Ar geom
|
||||
.\" ==== UNSET ====
|
||||
.Nm
|
||||
.Cm unset
|
||||
.Fl a Ar attrib
|
||||
.Fl i Ar index
|
||||
.Op Fl f Ar flags
|
||||
.Ar geom
|
||||
.\"
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
@ -181,6 +195,14 @@ The partition is specified by the
|
||||
.Fl i Ar index
|
||||
option.
|
||||
The size of the file must be smaller than the size of the partition.
|
||||
.Pp
|
||||
Addition options include:
|
||||
.Bl -tag -width ".Fl w Ar wwwwwww"
|
||||
.It Fl f Ar flags
|
||||
Additional operational flags.
|
||||
See the section entitled "Operational flags" below for a discussion
|
||||
about its use.
|
||||
.El
|
||||
.\" ==== COMMIT ====
|
||||
.It Cm commit
|
||||
Commit any pending changes for geom
|
||||
@ -275,6 +297,17 @@ Additional operational flags.
|
||||
See the section entitled "Operational flags" below for a discussion
|
||||
about its use.
|
||||
.El
|
||||
.\" ==== SET ====
|
||||
.It Cm set
|
||||
Set the named attribute on the partition entry.
|
||||
.Pp
|
||||
Addition options include:
|
||||
.Bl -tag -width ".Fl w Ar wwwwwww"
|
||||
.It Fl f Ar flags
|
||||
Additional operational flags.
|
||||
See the section entitled "Operational flags" below for a discussion
|
||||
about its use.
|
||||
.El
|
||||
.\" ==== SHOW ====
|
||||
.It Cm show
|
||||
Show the current partition information of the specified geoms
|
||||
@ -285,7 +318,19 @@ Revert any pending changes.
|
||||
This action is the opposite of the
|
||||
.Cm commit
|
||||
action and can be used to undo any changes that have not been committed.
|
||||
.\" ==== UNSET ====
|
||||
.It Cm unset
|
||||
Clear the named attribute on the partition entry.
|
||||
.Pp
|
||||
Addition options include:
|
||||
.Bl -tag -width ".Fl w Ar wwwwwww"
|
||||
.It Fl f Ar flags
|
||||
Additional operational flags.
|
||||
See the section entitled "Operational flags" below for a discussion
|
||||
about its use.
|
||||
.El
|
||||
.El
|
||||
.\"
|
||||
.Sh PARTITION TYPES
|
||||
The
|
||||
.Nm
|
||||
@ -312,6 +357,9 @@ This is a legacy partition type and should not be used for the APM
|
||||
or GPT schemes.
|
||||
The scheme-specific types are "!165" for MBR, "!FreeBSD" for APM, and
|
||||
"!516e7cb4-6ecf-11d6-8ff8-00022d09712b" for GPT.
|
||||
.It freebsd-boot
|
||||
A FreeBSD partition dedicated to bootstrap code.
|
||||
The scheme-specific type is "!83bd6b9d-7f41-11dc-be0b-001560b84f0f" for GPT.
|
||||
.It freebsd-swap
|
||||
A FreeBSD partition dedicated to swap space.
|
||||
The scheme-specific types are "!FreeBSD-swap" for APM, and
|
||||
@ -324,6 +372,10 @@ the scheme-specific types are "!FreeBSD-UFS" for APM, and
|
||||
A FreeBSD partition that contains a Vinum volume.
|
||||
The scheme-specific types are "!FreeBSD-Vinum" for APM, and
|
||||
"!516e7cb8-6ecf-11d6-8ff8-00022d09712b" for GPT.
|
||||
.It freebsd-zfs
|
||||
A FreeBSD partition that contains a ZFS volume.
|
||||
The scheme-specific types are "!FreeBSD-ZFS" for APM, and
|
||||
"!516e7cba-6ecf-11d6-8ff8-00022d09712b" for GPT.
|
||||
.It mbr
|
||||
A partition that is sub-partitioned by a master boot record (MBR).
|
||||
This type is known as "!024dee41-33e7-11d3-9d69-0008c781f39f" by GPT.
|
||||
@ -360,11 +412,5 @@ The
|
||||
.Nm
|
||||
utility appeared in
|
||||
.Fx 7.0 .
|
||||
.Sh BUGS
|
||||
The MBR partitioning scheme cannot yet be used to create a bootable
|
||||
MBR.
|
||||
.Pp
|
||||
Support for the PC98 or Sun partitioning schemes is not yet present.
|
||||
The BSD disklabel is also not supported yet.
|
||||
.Sh AUTHORS
|
||||
.An Marcel Moolenaar Aq marcel@FreeBSD.org
|
||||
|
Loading…
x
Reference in New Issue
Block a user