[97] in arla-drinkers
Re: freebsd problems and newwalk() problem & solution
daemon@ATHENA.MIT.EDU (Assar Westerlund)
Mon Jul 13 11:04:32 1998
From arla-drinkers-request@sundance.stacken.kth.se Mon Jul 13 15:04:31 1998
Return-Path: <arla-drinkers-request@sundance.stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 22478 invoked from network); 13 Jul 1998 15:04:30 -0000
Received: from unknown (HELO sundance.stacken.kth.se) (130.237.234.41)
by bloom-picayune.mit.edu with SMTP; 13 Jul 1998 15:04:30 -0000
Received: from assaris.sics.se (assaris.sics.se [193.10.66.108])
by sundance.stacken.kth.se (8.8.8/8.8.8) with ESMTP id QAA13144
for <arla-drinkers@stacken.kth.se>; Mon, 13 Jul 1998 16:58:26 +0200 (MET DST)
Received: (from assar@localhost) by assaris.sics.se (8.8.5/8.7.3) id QAA07354; Mon, 13 Jul 1998 16:59:56 +0200 (MET DST)
To: "Alec Wolman" <wolman@cs.washington.edu>
Cc: arla-drinkers@stacken.kth.se
Subject: Re: freebsd problems and newwalk() problem & solution
References: <199807100220.TAA22710@miles.cs.washington.edu>
Mime-Version: 1.0 (generated by tm-edit 7.68)
Content-Type: multipart/mixed;
boundary="Multipart_Mon_Jul_13_16:59:56_1998-1"
Content-Transfer-Encoding: 7bit
From: Assar Westerlund <assar@sics.se>
Date: 13 Jul 1998 16:59:56 +0200
In-Reply-To: "Alec Wolman"'s message of "Thu, 09 Jul 1998 19:20:58 -0700"
Message-ID: <5ld8b9dcer.fsf@assaris.sics.se>
Lines: 84
X-Mailer: Gnus v5.5/Emacs 19.34
--Multipart_Mon_Jul_13_16:59:56_1998-1
Content-Type: text/plain; charset=US-ASCII
"Alec Wolman" <wolman@cs.washington.edu> writes:
> I'm trying to setup arla-0.7.2 with a FreeBSD 2.2.6 system.
> I can't seem to get through the INSTALL directions. The first
> problem I ran into is that when I use the modload command to install
> the xfs module, it doesn't tell me what the major device number
> is. I fixed that problem (I've appended my one-line patch below),
> but I still get an error when I attempt to mount the afs filesystem.
You should get that output on your console (and in your
/var/log/messages), do you?
> miles# /usr/arla/bin/mount_xfs /dev/xfs0 /afs
> mount_xfs: mount: Operation not supported by device
This can be due to a number of reasons, the most common being using
the wrong major number for /dev/xfs0. Have you double-checked that
it's correct?
Otherwise, I suggest applying the appended patch and see if it gives
you any better hint as to what could be wrong.
> Also, a while back I reported a problem with using arlad in test mode.
> I finally got around to fixing the newwalk() routine so that it
> works much better now. Here is my patch:
Thanks for your patch. I have installed it.
/assar
--Multipart_Mon_Jul_13_16:59:56_1998-1
Content-Type: text/plain; charset=US-ASCII
Index: xfs/bsd/xfs_vfsops.c
===================================================================
RCS file: /usr/local/cvsroot/arla/xfs/bsd/xfs_vfsops.c,v
retrieving revision 1.15
diff -u -w -u -w -r1.15 xfs_vfsops.c
--- xfs_vfsops.c 1998/04/19 06:09:12 1.15
+++ xfs_vfsops.c 1998/07/13 14:47:42
@@ -90,6 +90,7 @@
devvp = ndp->ni_vp;
if (devvp->v_type != VCHR) {
+ XFSDEB(XDEBVFOPS, ("xfs_mount: %s not a cdev\n", data));
vput(devvp);
return ENXIO;
}
@@ -102,17 +103,27 @@
vput(devvp);
/* Check that this device really is an xfs_dev */
- if (major(dev) < 0 || nchrdev < major(dev))
+ if (major(dev) < 0 || nchrdev < major(dev)) {
+ XFSDEB(XDEBVFOPS, ("xfs_mount: bad major: %u [0,%u)\n",
+ major(dev), nchrdev));
return ENXIO;
- if (minor(dev) < 0 || NXFS < minor(dev))
+ }
+ if (minor(dev) < 0 || NXFS < minor(dev)) {
+ XFSDEB(XDEBVFOPS, ("xfs_mount: bad minor: %u [0,%u)\n",
+ minor(dev), NXFS));
return ENXIO;
+ }
#if defined(__NetBSD__) || defined(__OpenBSD__)
- if (cdevsw[major(dev)].d_open != xfs_devopen)
+ if (cdevsw[major(dev)].d_open != xfs_devopen) {
+ XFSDEB(XDEBVFOPS, ("xfs_mount: not xfs dev_open\n"));
return ENXIO;
+ }
#elif defined(__FreeBSD__)
if (cdevsw[major(dev)] == NULL
- || cdevsw[major(dev)]->d_open != xfs_devopen)
+ || cdevsw[major(dev)]->d_open != xfs_devopen) {
+ XFSDEB(XDEBVFOPS, ("xfs_mount: not xfs dev_open\n"));
return ENXIO;
+ }
#endif
if (xfs[minor(dev)].status & XFS_MOUNTED)
--Multipart_Mon_Jul_13_16:59:56_1998-1--