Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Apr 2010 08:49:38 +0000 (UTC)
From:      Jeff Roberson <jeff@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r207105 - projects/suj/head/sys/ufs/ffs
Message-ID:  <201004230849.o3N8ncTQ048632@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jeff
Date: Fri Apr 23 08:49:38 2010
New Revision: 207105
URL: http://svn.freebsd.org/changeset/base/207105

Log:
   - Don't call softdep_setup routines on snapshot copies of filesystems.
     This leads to strange panics as we believe inodes and blocks are being
     freed on the real fs.

Modified:
  projects/suj/head/sys/ufs/ffs/ffs_alloc.c

Modified: projects/suj/head/sys/ufs/ffs/ffs_alloc.c
==============================================================================
--- projects/suj/head/sys/ufs/ffs/ffs_alloc.c	Fri Apr 23 08:49:16 2010	(r207104)
+++ projects/suj/head/sys/ufs/ffs/ffs_alloc.c	Fri Apr 23 08:49:38 2010	(r207105)
@@ -1973,7 +1973,7 @@ ffs_blkfree(ump, fs, devvp, bno, size, i
 	ACTIVECLEAR(fs, cg);
 	UFS_UNLOCK(ump);
 	mp = UFSTOVFS(ump);
-	if (mp->mnt_flag & MNT_SOFTDEP)
+	if (mp->mnt_flag & MNT_SOFTDEP && devvp->v_type != VREG)
 		softdep_setup_blkfree(UFSTOVFS(ump), bp, bno,
 		    numfrags(fs, size), dephd);
 	bdwrite(bp);
@@ -2118,7 +2118,7 @@ ffs_freefile(ump, fs, devvp, ino, mode, 
 	fs->fs_fmod = 1;
 	ACTIVECLEAR(fs, cg);
 	UFS_UNLOCK(ump);
-	if (UFSTOVFS(ump)->mnt_flag & MNT_SOFTDEP)
+	if (UFSTOVFS(ump)->mnt_flag & MNT_SOFTDEP && devvp->v_type != VREG)
 		softdep_setup_inofree(UFSTOVFS(ump), bp,
 		    ino + cg * fs->fs_ipg, wkhd);
 	bdwrite(bp);



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