can't dump vinum volumes after upgrading

2000-03-21 Thread Palle Girgensohn

Hi!

I'm having a strange problem after upgrading: There are no raw
devices created for vinum volumes. This makes dump(8) puke.


This is a 3.4 system:

ls -laF /dev/vinum
...
crwxr-xr--  1 root  wheel   91,   1  2 Jul  1999 rusr*
drwxr-xr-x  2 root  wheel   512  2 Jul  1999 rvol/
...
brwxr-xr--  1 root  wheel   25,   1  2 Jul  1999 usr*
drwxr-xr-x  4 root  wheel   512  2 Jul  1999 vol/
...

and here's a 4.0:

crw-r-   1 root  wheel   91,   0 21 Mar 13:40 usr
drwxr-xr-x  11 root  wheel   512 21 Mar 13:40 vol/


vinum makedev doesn't help. what gives?

/Palle


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: can't dump vinum volumes after upgrading

2000-03-21 Thread Greg Lehey

On Tuesday, 21 March 2000 at 14:48:55 +0100, Palle Girgensohn wrote:
 Hi!

 I'm having a strange problem after upgrading: There are no raw
 devices created for vinum volumes.

Indeed there are.  You list them below.  There are no longer any block
devices.

 This makes dump(8) puke.

 This is a 3.4 system:

 ls -laF /dev/vinum
 ...
 crwxr-xr--  1 root  wheel   91,   1  2 Jul  1999 rusr*
 drwxr-xr-x  2 root  wheel   512  2 Jul  1999 rvol/
 ...
 brwxr-xr--  1 root  wheel   25,   1  2 Jul  1999 usr*

This was a block device.

 drwxr-xr-x  4 root  wheel   512  2 Jul  1999 vol/
 ...

 and here's a 4.0:

 crw-r-   1 root  wheel   91,   0 21 Mar 13:40 usr

This is now a character device.

 drwxr-xr-x  11 root  wheel   512 21 Mar 13:40 vol/

 vinum makedev doesn't help. what gives?

You don't describe what dump has to say.  I know that they put in a
fix recently, but you don't say how old your system is.

Greg
--
Finger [EMAIL PROTECTED] for PGP public key
See complete headers for address and phone numbers


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: can't dump vinum volumes after upgrading

2000-03-21 Thread Palle Girgensohn

Hello again.

I did some rtfm and src digging, it appears the listing I gave is
correct; the raw devices are in the rvinum dircetory. Problem is,
dump looks in vinum/r*. There seems that vinum introduces a bug
here, since dump's rawname function replaces the last '/' in the
device name with '/r'. In my 3.4 systems I have both rvinum and
vinum/r* in my /dev directory.

One solution is for vinum to create symlinks /dev/vinum/rplex -
/dev/rvinum/plex, to help dump find the raw device from the fstab
entry. That's what I'm doing manually now to get my filesystems
dumped. This should probably be handled by vinum somehow?

/Palle


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: can't dump vinum volumes after upgrading

2000-03-21 Thread Palle Girgensohn

This fixes it for me. Is my installation faulty, or is this
something that vinum fails to do when creating its devices?

#! /bin/sh
cd /dev/vinum
for i in ../rvinum/*; do ln -s $i r`basename $i`; done


/Palle


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: can't dump vinum volumes after upgrading

2000-03-21 Thread Palle Girgensohn

Greg Lehey wrote:
 
 On Tuesday, 21 March 2000 at 14:48:55 +0100, Palle Girgensohn wrote:
  Hi!
 
  I'm having a strange problem after upgrading: There are no raw
  devices created for vinum volumes.
 
 Indeed there are.  You list them below.  There are no longer any block
 devices.
 
 
 This was a block device.
 
...
 
 This is now a character device.

OK. Of course. Cool!

 You don't describe what dump has to say.  I know that they put in a
 fix recently, but you don't say how old your system is.

The system is 4.0-STABLE, which is more or less 4.0-RELEASE right
now.

dump fails at the point were it is trying to convert the block
device listed in fstab to a raw device, by inserting a 'r' after
the last '/' in the pathname. This part of dump wasn't changed
since the initial import :)

in sbin/dump/main.c:546:

char *
rawname(cp)
char *cp;
{
static char rawbuf[MAXPATHLEN];
char *dp = strrchr(cp, '/');

if (dp == NULL)
return (NULL);
*dp = '\0';
(void)strncpy(rawbuf, cp, MAXPATHLEN - 1);
rawbuf[MAXPATHLEN-1] = '\0';
*dp = '/';
(void)strncat(rawbuf, "/r", MAXPATHLEN - 1 -
strlen(rawbuf));
(void)strncat(rawbuf, dp + 1, MAXPATHLEN - 1 -
strlen(rawbuf));
return (rawbuf);
}

So, here what dump says:
trumpet:vinum# dump 0af /dev/null /cluster1
  DUMP: Date of this level 0 dump: Wed Mar 22 02:10:20 2000
  DUMP: Date of last level 0 dump: the epoch
  DUMP: Dumping /dev/vinum/rcluster1 (/cluster1) to /dev/null
  DUMP: Cannot open /dev/vinum/rcluster1

which is rather expected.

My fstab has the line:
/dev/vinum/cluster1  /cluster1  ufs  rw  2  2

Since you've enlighted me with the fact that there are only
character devices in vinum nowadays, my suggestion is putting a
symlink rfilesys-filesys in /dev/vinum for each filesystem, or
creating device nodes named rfilesys as well. This would make
dump(8) happy anyway.

Also, the manual pages (both vinum(4) vinum(8)) seem to be a bit
off here, since they mention both raw devices,
/dev/rvinum/rfilesys and /dev/vinum/rfilesys, none of which I
have (I do have /dev/rvinum/filesys, but they were probably made
under 3.4, right? Can I remove them?).

Oh, by the way, I love vinum. Thanks for all the hard work!

Cheers,
Palle


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message