svn commit: r187187 - in projects/gvinum: sbin/gvinum sys/geom/vinum
Ulf Lilleengen
lulf at FreeBSD.org
Tue Jan 13 11:17:14 PST 2009
Author: lulf
Date: Tue Jan 13 19:17:11 2009
New Revision: 187187
URL: http://svn.freebsd.org/changeset/base/187187
Log:
- Add the -f option to the rm command, which allows the removal to be forced.
Submitted by: Rick C. Petty <rick-freebsd2008 at kiwi-computer.com>
Modified:
projects/gvinum/sbin/gvinum/gvinum.c
projects/gvinum/sys/geom/vinum/geom_vinum_rm.c
Modified: projects/gvinum/sbin/gvinum/gvinum.c
==============================================================================
--- projects/gvinum/sbin/gvinum/gvinum.c Tue Jan 13 19:14:51 2009 (r187186)
+++ projects/gvinum/sbin/gvinum/gvinum.c Tue Jan 13 19:17:11 2009 (r187187)
@@ -709,7 +709,7 @@ gvinum_help(void)
" Rebuild the parity blocks of a RAID-5 plex.\n"
"resetconfig\n"
" Reset the complete gvinum configuration\n"
- "rm [-r] volume | plex | subdisk | drive\n"
+ "rm [-r] [-f] volume | plex | subdisk | drive\n"
" Remove an object.\n"
"saveconfig\n"
" Save vinum configuration to disk after configuration"
@@ -1052,8 +1052,11 @@ gvinum_rm(int argc, char **argv)
flags = 0;
optreset = 1;
optind = 1;
- while ((j = getopt(argc, argv, "r")) != -1) {
+ while ((j = getopt(argc, argv, "rf")) != -1) {
switch (j) {
+ case 'f':
+ flags |= GV_FLAG_F;
+ break;
case 'r':
flags |= GV_FLAG_R;
break;
Modified: projects/gvinum/sys/geom/vinum/geom_vinum_rm.c
==============================================================================
--- projects/gvinum/sys/geom/vinum/geom_vinum_rm.c Tue Jan 13 19:14:51 2009 (r187186)
+++ projects/gvinum/sys/geom/vinum/geom_vinum_rm.c Tue Jan 13 19:17:11 2009 (r187187)
@@ -130,7 +130,8 @@ gv_remove(struct g_geom *gp, struct gctl
case GV_TYPE_DRIVE:
d = gv_find_drive(sc, argv);
/* We don't allow to remove open drives. */
- if (gv_consumer_is_open(d->consumer)) {
+ if (gv_consumer_is_open(d->consumer) &&
+ !(*flags & GV_FLAG_F)) {
gctl_error(req, "drive '%s' is open", d->name);
return;
}
More information about the svn-src-projects
mailing list