From owner-svn-src-projects@FreeBSD.ORG Fri Apr 23 08:49:38 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AE258106566B; Fri, 23 Apr 2010 08:49:38 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9D7278FC15; Fri, 23 Apr 2010 08:49:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o3N8nc4k048634; Fri, 23 Apr 2010 08:49:38 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o3N8ncTQ048632; Fri, 23 Apr 2010 08:49:38 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201004230849.o3N8ncTQ048632@svn.freebsd.org> From: Jeff Roberson Date: Fri, 23 Apr 2010 08:49:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r207105 - projects/suj/head/sys/ufs/ffs X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Apr 2010 08:49:38 -0000 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);