From: Marc Dionne Date: Thu, 22 Mar 2012 02:19:04 +0000 (-0400) Subject: Linux 3.4: Switch to d_make_root X-Git-Tag: openafs-stable-1_8_0pre1~2693 X-Git-Url: http://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=f246aa5f84a5233b6525ae43456a8da5b7e92984 Linux 3.4: Switch to d_make_root If d_make_root is available, use it instead of d_alloc_root. The helper was introduced in 3.3, and d_alloc_root gets removed in 3.4. Change-Id: I39aaa6fd14d04c05ad9cb5b610e7f12f70fe0c94 Reviewed-on: http://gerrit.openafs.org/6931 Tested-by: BuildBot Reviewed-by: Derrick Brashear --- diff --git a/acinclude.m4 b/acinclude.m4 index 92cad6f..91231ba 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -848,6 +848,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) AC_CHECK_LINUX_FUNC([d_alloc_anon], [#include ], [d_alloc_anon(NULL);]) + AC_CHECK_LINUX_FUNC([d_make_root], + [#include ], + [d_make_root(NULL);]) AC_CHECK_LINUX_FUNC([do_sync_read], [#include ], [do_sync_read(NULL, NULL, 0, NULL);]) diff --git a/src/afs/LINUX/osi_vfsops.c b/src/afs/LINUX/osi_vfsops.c index 4c44988..9bdc304 100644 --- a/src/afs/LINUX/osi_vfsops.c +++ b/src/afs/LINUX/osi_vfsops.c @@ -184,7 +184,11 @@ afs_root(struct super_block *afsp) /* setup super_block and mount point inode. */ afs_globalVp = tvp; +#if defined(HAVE_LINUX_D_MAKE_ROOT) + afsp->s_root = d_make_root(ip); +#else afsp->s_root = d_alloc_root(ip); +#endif #if !defined(STRUCT_SUPER_BLOCK_HAS_S_D_OP) afsp->s_root->d_op = &afs_dentry_operations; #endif