summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-01-26 11:28:56 +0000
committerphk <phk@FreeBSD.org>2003-01-26 11:28:56 +0000
commita74140ae0217edd23dbc303908778a13cf82376f (patch)
treea6b7e18c067ef695fe7b5521d0c999544337ec06 /sys
parent722d5435d76be530e77130a8efaef06e04832fd3 (diff)
downloadFreeBSD-src-a74140ae0217edd23dbc303908778a13cf82376f.zip
FreeBSD-src-a74140ae0217edd23dbc303908778a13cf82376f.tar.gz
Put use of DIOCWLABEL under #ifdef NO_GEOM
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/vinum/vinumio.c6
-rw-r--r--sys/dev/vinum/vinumioctl.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/vinum/vinumio.c b/sys/dev/vinum/vinumio.c
index 01c1704..14284ae 100644
--- a/sys/dev/vinum/vinumio.c
+++ b/sys/dev/vinum/vinumio.c
@@ -564,7 +564,9 @@ daemon_save_config(void)
struct drive *drive; /* point to current drive info */
struct vinum_hdr *vhdr; /* and as header */
char *config; /* point to config data */
+#ifdef NO_GEOM
int wlabel_on; /* to set writing label on/off */
+#endif
/* don't save the configuration while we're still working on it */
if (vinum_conf.flags & VF_CONFIGURING)
@@ -614,23 +616,27 @@ daemon_save_config(void)
sizeof(vhdr->label));
if ((drive->state != drive_unallocated)
&& (drive->state != drive_referenced)) { /* and it's a real drive */
+#ifdef NO_GEOM
wlabel_on = 1; /* enable writing the label */
(void) (*devsw(drive->dev)->d_ioctl) (drive->dev, /* make the label writeable */
DIOCWLABEL,
(caddr_t) & wlabel_on,
FWRITE,
curthread);
+#endif
error = write_drive(drive, (char *) vhdr, VINUMHEADERLEN, VINUM_LABEL_OFFSET);
if (error == 0)
error = write_drive(drive, config, MAXCONFIG, VINUM_CONFIG_OFFSET); /* first config copy */
if (error == 0)
error = write_drive(drive, config, MAXCONFIG, VINUM_CONFIG_OFFSET + MAXCONFIG); /* second copy */
+#ifdef NO_GEOM
wlabel_on = 0; /* enable writing the label */
(void) (*devsw(drive->dev)->d_ioctl) (drive->dev, /* make the label non-writeable again */
DIOCWLABEL,
(caddr_t) & wlabel_on,
FWRITE,
curthread);
+#endif
unlockdrive(drive);
if (error) {
log(LOG_ERR,
diff --git a/sys/dev/vinum/vinumioctl.c b/sys/dev/vinum/vinumioctl.c
index 4d4d9d7..a9d7074 100644
--- a/sys/dev/vinum/vinumioctl.c
+++ b/sys/dev/vinum/vinumioctl.c
@@ -402,6 +402,7 @@ vinumioctl(dev_t dev,
case DIOCSDINFO: /* set partition info */
return 0; /* not a titty */
+#ifdef NO_GEOM
case DIOCWLABEL: /* set or reset label writeable */
if ((flag & FWRITE) == 0) /* not writeable? */
return EACCES; /* no, die */
@@ -410,7 +411,7 @@ vinumioctl(dev_t dev,
else
vol->flags &= ~VF_WLABEL; /* no, reset */
break;
-
+#endif
default:
return ENOTTY; /* not my kind of ioctl */
}
OpenPOWER on IntegriCloud