From a74140ae0217edd23dbc303908778a13cf82376f Mon Sep 17 00:00:00 2001 From: phk Date: Sun, 26 Jan 2003 11:28:56 +0000 Subject: Put use of DIOCWLABEL under #ifdef NO_GEOM --- sys/dev/vinum/vinumio.c | 6 ++++++ sys/dev/vinum/vinumioctl.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'sys') 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 */ } -- cgit v1.1