From 2d04a9016bcd69f6dc2f67fea2d66fe2619e5760 Mon Sep 17 00:00:00 2001 From: Marc Dionne Date: Wed, 21 Mar 2012 22:19:04 -0400 Subject: [PATCH] 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. Reviewed-on: http://gerrit.openafs.org/6931 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit f246aa5f84a5233b6525ae43456a8da5b7e92984) Change-Id: Ic0fccd9f09f811bab6e49639149e41fb71841547 Reviewed-on: http://gerrit.openafs.org/6933 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- acinclude.m4 | 3 +++ src/afs/LINUX/osi_vfsops.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/acinclude.m4 b/acinclude.m4 index dd89d094f..45f06cbd9 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -847,6 +847,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 faa571549..0aa9d2fbb 100644 --- a/src/afs/LINUX/osi_vfsops.c +++ b/src/afs/LINUX/osi_vfsops.c @@ -186,7 +186,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 -- 2.39.5