Subject: Re: panic in softdep / ufs ?
To: None <d.zanon@infinito.it>
From: Juergen Hannken-Illjes <hannken@eis.cs.tu-bs.de>
List: current-users
Date: 02/13/2005 22:25:03
--uAKRQypu60I7Lcqm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Sun, Feb 13, 2005 at 09:03:44PM +0100, d.zanon@infinito.it wrote:
> On Sun, 13 Feb 2005 10:42:58 +0100
>  Juergen Hannken-Illjes <hannken@eis.cs.tu-bs.de> wrote:
> >On Sat, Feb 12, 2005 at 07:38:11PM +0100, 
> >d.zanon@infinito.it wrote:
> >
> >Please either take an older kernel or boot into 
> >single-user. Then send the
> >output of `dumpfs /XXX | head -40' and `fsck_ffs -nfd 
> >/dev/rwd0?'.
> 
> ** /dev/rwd0e (NO WRITE)
> detected ufs1 superblock not yet updated for ufs2 kernels
> clean = 4
> isappleufs = 1, dirblksiz = 1024

This `isappleufs = 1' is the problem. Please try the attached diff to
sys/ufs/ffs/ffs_snapshot.c.

-- 
Juergen Hannken-Illjes - hannken@eis.cs.tu-bs.de - TU Braunschweig (Germany)

--uAKRQypu60I7Lcqm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="ffs_snapshot.c.diff"

Index: ffs_snapshot.c
===================================================================
RCS file: /cvsroot/src/sys/ufs/ffs/ffs_snapshot.c,v
retrieving revision 1.9
diff -u -4 -r1.9 ffs_snapshot.c
--- ffs_snapshot.c	9 Feb 2005 16:05:29 -0000	1.9
+++ ffs_snapshot.c	13 Feb 2005 21:19:36 -0000
@@ -151,8 +151,11 @@
 	struct buf *bp, *ibp;
 	struct vattr vat;
 	struct vnode *xvp, *nvp, *devvp;
 
+	if (UFS_MPISAPPLEUFS(ump))
+		return EOPNOTSUPP;
+
 	ns = UFS_FSNEEDSWAP(fs);
 	/*
 	 * Need to serialize access to snapshot code per filesystem.
 	 */
@@ -1648,8 +1651,11 @@
 	struct inode *ip, *xp;
 	ufs2_daddr_t snaplistsize, *snapblklist;
 	int error, ns, snaploc, loc;
 
+	if (UFS_MPISAPPLEUFS(ump))
+		return;
+
 	ns = UFS_FSNEEDSWAP(fs);
 	/*
 	 * XXX The following needs to be set before VOP_TRUNCATE or
 	 * VOP_READ can be called.

--uAKRQypu60I7Lcqm--