From 6a0936babc14a44986265a12f206c41999bd48c3 Mon Sep 17 00:00:00 2001 From: Richard Yao Date: Wed, 6 Jun 2012 17:08:00 +0000 Subject: Linux 3.4 compat, d_make_root() replaces d_alloc_root() torvalds/linux@adc0e91ab142abe93f5b0d7980ada8a7676231fe introduced introduced d_make_root() as a replacement for d_alloc_root(). Further commits appear to have removed d_alloc_root() from the Linux source tree. This causes the following failure: error: implicit declaration of function 'd_alloc_root' [-Werror=implicit-function-declaration] To correct this we update the code to use the current d_make_root() interface for readability. Then we introduce an autotools check to determine if d_make_root() is available. If it isn't then we define some compatibility logic which used the older d_alloc_root() interface. Signed-off-by: Richard Yao Signed-off-by: Brian Behlendorf Closes #776 --- include/linux/dcache_compat.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include/linux/dcache_compat.h') diff --git a/include/linux/dcache_compat.h b/include/linux/dcache_compat.h index 5f7d5e97f..a42356276 100644 --- a/include/linux/dcache_compat.h +++ b/include/linux/dcache_compat.h @@ -31,4 +31,8 @@ #define dname(dentry) ((char *)((dentry)->d_name.name)) #define dlen(dentry) ((int)((dentry)->d_name.len)) +#ifndef HAVE_D_MAKE_ROOT +#define d_make_root(inode) d_alloc_root(inode) +#endif /* HAVE_D_MAKE_ROOT */ + #endif /* _ZFS_DCACHE_H */ -- cgit v1.2.3