Author: kib
Date: Thu Mar 17 11:23:12 2011
New Revision: 219712
URL: http://svn.freebsd.org/changeset/base/219712

Log:
  Remove the #if defined(FFS) || defined(IFS) braces around the calls to
  ffs_snapgone(). ufs.ko module is not build with FFS define, causing
  snapshot inode number slots in superblock never be freed, as well as a
  reference on the snapshot vnode.
  
  IFS was removed several years ago, and UFS/FFS separation was not
  maintained for real.
  
  Reported, analyzed and tested by:     Yamagi Burmeister <lists yamagi org>
  MFC after:    3 days

Modified:
  head/sys/ufs/ufs/ufs_lookup.c

Modified: head/sys/ufs/ufs/ufs_lookup.c
==============================================================================
--- head/sys/ufs/ufs/ufs_lookup.c       Thu Mar 17 09:44:33 2011        
(r219711)
+++ head/sys/ufs/ufs/ufs_lookup.c       Thu Mar 17 11:23:12 2011        
(r219712)
@@ -1252,10 +1252,8 @@ out:
         * drop its snapshot reference so that it will be reclaimed
         * when last open reference goes away.
         */
-#if defined(FFS) || defined(IFS)
        if (ip != 0 && (ip->i_flags & SF_SNAPSHOT) != 0 && ip->i_effnlink == 0)
                ffs_snapgone(ip);
-#endif
        return (error);
 }
 
@@ -1317,10 +1315,8 @@ ufs_dirrewrite(dp, oip, newinum, newtype
         * drop its snapshot reference so that it will be reclaimed
         * when last open reference goes away.
         */
-#if defined(FFS) || defined(IFS)
        if ((oip->i_flags & SF_SNAPSHOT) != 0 && oip->i_effnlink == 0)
                ffs_snapgone(oip);
-#endif
        return (error);
 }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to