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