Re: do we still need ufs/ffs/ffs_softdep_stub.c ?

2002-08-03 Thread Ian Dowse

In message <[EMAIL PROTECTED]>, 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,,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 -  1.81
+++ ffs_inode.c 3 Aug 2002 11:05:43 -
@@ -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 [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



do we still need ufs/ffs/ffs_softdep_stub.c ?

2002-08-03 Thread Luigi Rizzo

Hi,
just got the following panic with today's -current sources and
an oldish config file (one not having "options SOFTUPDATES"):

panic: softdep_slowdown called
Debugger("panic")
Stopped at  Debugger+0x45:  xchgl   %ebx,0xc05fa740
db> trace
Debugger(c026141c) at Debugger+0x45
panic(c026ecc1,c66e1b94,c01ff565,c1cda000,0) at panic+0x7c
softdep_slowdown(c1cda000,0,0,,2) at softdep_slowdown+0xd
ffs_truncate(c1cda000,0,0,c00,0) at ffs_truncate+0x81
ufs_inactive(c66e1bfc,c66e1c24,c01b2c10,c66e1bfc,c0280780) at ufs_inactive+0x91
ufs_vnoperate(c66e1bfc) at ufs_vnoperate+0x13
vput(c1cda000,c1cc636c,c66e1c90,ffdf,c1c92000) at vput+0xd0
unlink(c081db40,c66e1d14,1,3,246) at unlink+0x18a
syscall(2f,2f,2f,8254000,bfbffdc8) at syscall+0x231
Xint0x80_syscall() at Xint0x80_syscall+0x1d

and in trying to track down the problem i noticed the following:

> grep ffs_softdep conf/*
conf/files:ufs/ffs/ffs_softdep.coptional softupdates ffs
conf/files:ufs/ffs/ffs_softdep_stub.c optional ffs

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

cheers
luigi

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