svn commit: r207105 - projects/suj/head/sys/ufs/ffs
Jeff Roberson
jeff at FreeBSD.org
Fri Apr 23 08:49:38 UTC 2010
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);
More information about the svn-src-projects
mailing list