Date: Thu, 30 Sep 1999 10:02:18 +0930 From: Greg Lehey <grog@lemis.com> To: "Eric J. Schwertfeger" <ejs@bfd.com> Cc: questions@FreeBSD.ORG Subject: Re: vinum and 3.2R -> 3.3R upgrade Message-ID: <19990930100218.A517@freebie.lemis.com> In-Reply-To: <Pine.BSF.4.10.9909290759001.72913-100000@harlie.bfd.com>; from Eric J. Schwertfeger on Wed, Sep 29, 1999 at 08:08:17AM -0700 References: <Pine.BSF.4.10.9909290759001.72913-100000@harlie.bfd.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, 29 September 1999 at 8:08:17 -0700, Eric J. Schwertfeger wrote:
>
> Upgraded a 3.2R storage server to 3.3R, and the machine didn't see the
> existing vinum slices, which was to be expected since I hadn't changed the
> slices from "unused" to "vinum". Well, I made that change, and now the
> same machine comes up with several errors (claiming at least one of the
> slices is unavailable, so the concatination is corrupted), then a kernel
> panic.
Where's the dump?
> For the time being, I'm running 3.3R user space, and 3.2R kernel, which
> makes me uncomfortable.
You're saying it works with 3.2 and not with 3.3? In that case you
might have been bitten by a bug in the start code.
> I'm preparing to back it up now, to reinitialize vinum and restore, but
> I was curious as to if anyone else had seen this and had a quicker
> solution, as I really don't want to be down for the length of time it will
> take to back up and restore 14GB of data.
If it's the bug I'm thinking of, there are two ways to solve your
problem. A workaround is to ensure that you have all the slice
devices (/dev/da0s1a, etc) present. The correct solution is in the
following patch. This is also in 3.3-STABLE.
--- vinumio.c 1999/08/29 16:24:18 1.7.2.9
+++ vinumio.c 1999/09/29 03:44:28 1.7.2.10
@@ -33,7 +33,7 @@
* otherwise) arising in any way out of the use of this software, even if
* advised of the possibility of such damage.
*
- * $FreeBSD: /home/ncvs/src/sys/dev/vinum/vinumio.c,v 1.7.2.9 1999/08/29 16:24:18 peter Exp $
+ * $FreeBSD: /home/ncvs/src/sys/dev/vinum/vinumio.c,v 1.7.2.10 1999/09/29 03:44:28 grog Exp $
*/
#include <dev/vinum/vinumhdr.h>
@@ -58,7 +58,7 @@
NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, drive->devicename, p);
error = vn_open(&nd, FREAD | FWRITE, 0); /* open the device */
if (error != 0) { /* can't open? */
- set_drive_state(drive->driveno, drive_down, setstate_force);
+ drive->state = drive_down; /* just force it down */
drive->lasterror = error;
if (verbose)
log(LOG_WARNING,
@@ -204,7 +204,8 @@
LOCKDRIVE(drive); /* keep the daemon out */
if (drive->vp)
close_locked_drive(drive); /* and close it */
- drive->state = drive_down; /* don't tell the system about this one at all */
+ if (drive->state > drive_down) /* if it's up, */
+ drive->state = drive_down; /* go down directly, do not pass daemon */
unlockdrive(drive);
}
> Yeah, I know, should have done it right in the first place :-)
If it's this bug, it wasn't your fault.
Greg
--
When replying to this message, please copy the original recipients.
For more information, see http://www.lemis.com/questions.html
See complete headers for address, home page and phone numbers
finger grog@lemis.com for PGP public key
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990930100218.A517>
