Whamcloud - gitweb
Branch HEAD
authoryangsheng <yangsheng>
Mon, 4 Feb 2008 02:25:38 +0000 (02:25 +0000)
committeryangsheng <yangsheng>
Mon, 4 Feb 2008 02:25:38 +0000 (02:25 +0000)
b=14714
i=adilger
i=scjody

Detect if __d_rehash() and __d_move() should be used in ldiskfs.

ldiskfs/configure.ac
ldiskfs/kernel_patches/patches/iopen-2.6-rhel4.patch

index 42aed45..43cb53d 100644 (file)
@@ -81,6 +81,34 @@ AC_SUBST(LDISKFS_SERIES)
 
 AC_SUBST(ac_configure_args)
 
+LB_CHECK_SYMBOL_EXPORT([d_rehash_cond],
+[fs/dcache.c],[
+AC_DEFINE(HAVE_D_REHASH_COND, 1,
+            [d_rehash_cond is exported by the kernel])
+],[
+])
+
+LB_CHECK_SYMBOL_EXPORT([__d_rehash],
+[fs/dcache.c],[
+AC_DEFINE(HAVE___D_REHASH, 1,
+            [__d_rehash is exported by the kernel])
+],[
+])
+
+LB_CHECK_SYMBOL_EXPORT([d_move_locked],
+[fs/dcache.c],[
+AC_DEFINE(HAVE_D_MOVE_LOCKED, 1,
+            [d_move_locked is exported by the kernel])
+],[
+])
+
+LB_CHECK_SYMBOL_EXPORT([__d_move],
+[fs/dcache.c],[
+AC_DEFINE(HAVE___D_MOVE, 1,
+            [__d_move is exported by the kernel])
+],[
+])
+
 LB_CONFIG_FILES
 AC_CONFIG_FILES([ldiskfs/autoMakefile ldiskfs/Makefile])
 
index 39ebb39..f7f1ebf 100644 (file)
@@ -319,7 +319,7 @@ Index: linux-stage/fs/ext3/iopen.h
 ===================================================================
 --- linux-stage.orig/fs/ext3/iopen.h   2005-02-25 14:41:01.017787968 +0200
 +++ linux-stage/fs/ext3/iopen.h        2005-02-25 14:41:01.045783712 +0200
-@@ -0,0 +1,15 @@
+@@ -0,0 +1,23 @@
 +/*
 + * iopen.h
 + *
@@ -335,6 +335,14 @@ Index: linux-stage/fs/ext3/iopen.h
 +extern int ext3_iopen_get_inode(struct inode *inode);
 +extern struct dentry *iopen_connect_dentry(struct dentry *dentry,
 +                                         struct inode *inode, int rehash);
++
++#if !defined(HAVE_D_REHASH_COND) && defined(HAVE___D_REHASH)
++#define d_rehash_cond(dentry, lock) __d_rehash(dentry, lock)
++#endif
++
++#if !defined(HAVE_D_MOVE_LOCKED) && defined(HAVE___D_MOVE)
++#define d_move_locked(dentry, lock) __d_move(dentry, lock)
++#endif
 Index: linux-stage/fs/ext3/namei.c
 ===================================================================
 --- linux-stage.orig/fs/ext3/namei.c   2005-02-25 14:37:28.975023368 +0200