[Ocfs2-commits] manish commits r2436 - in trunk: . patches
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Tue Jun 28 16:08:11 CDT 2005
Author: manish
Signed-off-by: mfasheh
Date: 2005-06-27 15:41:57 -0500 (Mon, 27 Jun 2005)
New Revision: 2436
Added:
trunk/patches/
trunk/patches/export_generic_drop_inode.patch
Modified:
trunk/Makefile
trunk/configure.in
Log:
Error out if the kernel we're building against doesn't have generic_drop_inode
exported. Distribute the patch so people can fix their kernels.
Signed-off-by: mfasheh
Modified: trunk/Makefile
===================================================================
--- trunk/Makefile 2005-06-27 20:41:03 UTC (rev 2435)
+++ trunk/Makefile 2005-06-27 20:41:57 UTC (rev 2436)
@@ -15,6 +15,9 @@
kapi-compat/include/kref_init.h \
kapi-compat/include/kref_put.h
+PATCH_FILES = \
+ patches/export_generic_drop_inode.patch
+
DIST_FILES = \
AUTHORS \
COPYING \
@@ -30,13 +33,15 @@
mkinstalldirs \
rpmarch.guess \
$(LINUX_INCLUDE_FILES) \
- $(KAPI_COMPAT_FILES)
+ $(KAPI_COMPAT_FILES) \
+ $(PATCH_FILES)
DIST_RULES = dist-subdircreate
dist-subdircreate:
$(TOPDIR)/mkinstalldirs $(DIST_DIR)/include/linux
$(TOPDIR)/mkinstalldirs $(DIST_DIR)/kapi-compat/include
+ $(TOPDIR)/mkinstalldirs $(DIST_DIR)/patches
#
# RHEL4
Modified: trunk/configure.in
===================================================================
--- trunk/configure.in 2005-06-27 20:41:03 UTC (rev 2435)
+++ trunk/configure.in 2005-06-27 20:41:57 UTC (rev 2436)
@@ -208,6 +208,14 @@
fi
AC_SUBST(ARCH_XEN)
+OCFS2_CHECK_KERNEL(generic_drop_inode, fs.h,
+ have_generic_drop_inode=yes, have_generic_drop_inode=no)
+if test "x$have_generic_drop_inode" != "xyes"; then
+ AC_MSG_ERROR([Kernel does not have generic_drop_inode exported.
+You can apply patches/export_generic_drop_inode.patch to your kernel tree
+and rebuild the kernel to build and use OCFS2.])
+fi
+
MISSING_SOCK_CREATE_LITE=
OCFS2_CHECK_KERNEL(sock_create_lite, net.h,, MISSING_SOCK_CREATE_LITE=yes)
AC_SUBST(MISSING_SOCK_CREATE_LITE)
Added: trunk/patches/export_generic_drop_inode.patch
===================================================================
--- trunk/patches/export_generic_drop_inode.patch 2005-06-27 20:41:03 UTC (rev 2435)
+++ trunk/patches/export_generic_drop_inode.patch 2005-06-27 20:41:57 UTC (rev 2436)
@@ -0,0 +1,32 @@
+diff -ruN linux-2.6.12.old/fs/inode.c linux-2.6.12/fs/inode.c
+--- linux-2.6.12.old/fs/inode.c 2005-06-17 12:48:29.000000000 -0700
++++ linux-2.6.12/fs/inode.c 2005-06-24 00:12:29.998954118 -0700
+@@ -1048,7 +1048,7 @@
+ * inode when the usage count drops to zero, and
+ * i_nlink is zero.
+ */
+-static void generic_drop_inode(struct inode *inode)
++void generic_drop_inode(struct inode *inode)
+ {
+ if (!inode->i_nlink)
+ generic_delete_inode(inode);
+@@ -1056,6 +1056,8 @@
+ generic_forget_inode(inode);
+ }
+
++EXPORT_SYMBOL_GPL(generic_drop_inode);
++
+ /*
+ * Called when we're dropping the last reference
+ * to an inode.
+diff -ruN linux-2.6.12.old/include/linux/fs.h linux-2.6.12/include/linux/fs.h
+--- linux-2.6.12.old/include/linux/fs.h 2005-06-17 12:48:29.000000000 -0700
++++ linux-2.6.12/include/linux/fs.h 2005-06-24 00:12:30.054955934 -0700
+@@ -1411,6 +1411,7 @@
+ extern ino_t iunique(struct super_block *, ino_t);
+ extern int inode_needs_sync(struct inode *inode);
+ extern void generic_delete_inode(struct inode *inode);
++extern void generic_drop_inode(struct inode *inode);
+
+ extern struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
+ int (*test)(struct inode *, void *), void *data);
More information about the Ocfs2-commits
mailing list