aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2001-08-18 03:08:48 +0000
committerPeter Wemm <peter@FreeBSD.org>2001-08-18 03:08:48 +0000
commit61a423700182c1b558162fcc5035cbda5ce7e339 (patch)
tree6d33751a77b7e9b35593190cb081c11dfe8bf89e
parent2c17cf2d54b65e1ab0d502397fc432380b88a22a (diff)
downloadsrc-61a423700182c1b558162fcc5035cbda5ce7e339.tar.gz
src-61a423700182c1b558162fcc5035cbda5ce7e339.zip
Sigh. ufs_lookup() calls ffs_snapgone(), meaning that 'options EXT2FS'
without 'options FFS' would fail to link.
Notes
Notes: svn path=/head/; revision=81877
-rw-r--r--sys/conf/options6
-rw-r--r--sys/ufs/ufs/ufs_lookup.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/sys/conf/options b/sys/conf/options
index b58eaf46d85a..9721faa20624 100644
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -119,8 +119,6 @@ CD9660 opt_dontuse.h
CODA opt_dontuse.h
EXT2FS opt_dontuse.h
FDESCFS opt_dontuse.h
-FFS opt_dontuse.h
-IFS opt_dontuse.h
LINPROCFS opt_dontuse.h
MSDOSFS opt_dontuse.h
NULLFS opt_dontuse.h
@@ -133,6 +131,10 @@ NTFS opt_dontuse.h
HPFS opt_dontuse.h
UNIONFS opt_dontuse.h
+# Broken - ffs_snapshot() dependency from ufs_lookup() :-(
+FFS opt_ffs_broken_fixme.h
+IFS opt_ffs_broken_fixme.h
+
# These static filesystems has one slightly bogus static dependency in
# sys/i386/i386/autoconf.c. If any of these filesystems are
# statically compiled into the kernel, code for mounting them as root
diff --git a/sys/ufs/ufs/ufs_lookup.c b/sys/ufs/ufs/ufs_lookup.c
index b4aa6a953a39..1e023d67c319 100644
--- a/sys/ufs/ufs/ufs_lookup.c
+++ b/sys/ufs/ufs/ufs_lookup.c
@@ -39,6 +39,7 @@
* $FreeBSD$
*/
+#include "opt_ffs_broken_fixme.h"
#include "opt_ufs.h"
#include <sys/param.h>
@@ -1059,8 +1060,10 @@ 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);
}
@@ -1108,8 +1111,10 @@ ufs_dirrewrite(dp, oip, newinum, newtype, isrmdir)
* 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);
}