Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 03 Aug 2002 12:13:14 +0100
From:      Ian Dowse <iedowse@maths.tcd.ie>
To:        Luigi Rizzo <rizzo@icir.org>
Cc:        current@freebsd.org, mckusick@mckusick.com
Subject:   Re: do we still need ufs/ffs/ffs_softdep_stub.c ? 
Message-ID:   <200208031213.aa08402@salmon.maths.tcd.ie>
In-Reply-To: Your message of "Sat, 03 Aug 2002 02:31:48 PDT." <20020803023148.A94525@iguana.icir.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <20020803023148.A94525@iguana.icir.org>, Luigi Rizzo writes:
>Hi,
>just got the following panic with today's -current sources and
>an oldish config file (one not having "options SOFTUPDATES"):

>    panic(c026ecc1,c66e1b94,c01ff565,c1cda000,0) at panic+0x7c
>    softdep_slowdown(c1cda000,0,0,ffffffff,2) at softdep_slowdown+0xd
>    ffs_truncate(c1cda000,0,0,c00,0) at ffs_truncate+0x81

>so the question is, do we still need ffs_softdep_stub.c ? In any
>case, getting an explicit panic does not really sound right...

The bug is in ffs_truncate() - it should not be calling softdep
functions on non-softdep filesystems. The panic is there to catch
exactly this kind of bug.

I think the following patch should fix it.

Ian

Index: ffs_inode.c
===================================================================
RCS file: /dump/FreeBSD-CVS/src/sys/ufs/ffs/ffs_inode.c,v
retrieving revision 1.81
diff -u -r1.81 ffs_inode.c
--- ffs_inode.c	19 Jul 2002 07:29:38 -0000	1.81
+++ ffs_inode.c	3 Aug 2002 11:05:43 -0000
@@ -173,7 +173,7 @@
 	 * soft updates below.
 	 */
 	needextclean = 0;
-	softdepslowdown = softdep_slowdown(ovp);
+	softdepslowdown = DOINGSOFTDEP(ovp) && softdep_slowdown(ovp);
 	extblocks = 0;
 	datablocks = DIP(oip, i_blocks);
 	if (fs->fs_magic == FS_UFS2_MAGIC && oip->i_din2->di_extsize > 0) {


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi? <200208031213.aa08402>