svn commit: r219712 - head/sys/ufs/ufs

Konstantin Belousov kib at FreeBSD.org
Thu Mar 17 11:23:13 UTC 2011


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);
 }
 


More information about the svn-src-head mailing list