From 39f051191189857c79b1f4c23eb509ce94d6271e Mon Sep 17 00:00:00 2001 From: Marc Dionne Date: Wed, 18 Jan 2012 10:25:03 -0500 Subject: [PATCH] Linux: use standard macro for set_nlink configure test A generic macro exists to test for functions in the kernel, use it for set_nlink. Reviewed-on: http://gerrit.openafs.org/6566 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 64bd0b728ca95ba7bb4f1fdd909386fde3ce81e1) Change-Id: I93d169bec8f476d5e692f7f5a7fe31002af7ce1e Reviewed-on: http://gerrit.openafs.org/6569 Tested-by: BuildBot Reviewed-by: Derrick Brashear --- acinclude.m4 | 4 +++- src/afs/LINUX/osi_vfsops.c | 2 +- src/cf/linux-test4.m4 | 12 ------------ 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index c7bb58870..41ef6d1a4 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -887,6 +887,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) AC_CHECK_LINUX_FUNC([rcu_read_lock], [#include ], [rcu_read_lock();]) + AC_CHECK_LINUX_FUNC([set_nlink], + [#include ], + [set_nlink(NULL, 1);]) AC_CHECK_LINUX_FUNC([splice_direct_to_actor], [#include ], [splice_direct_to_actor(NULL,NULL,NULL);]) @@ -947,7 +950,6 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) LINUX_REGISTER_SYSCTL_TABLE_NOFLAG LINUX_HAVE_DCACHE_LOCK LINUX_D_COUNT_IS_INT - LINUX_HAVE_SET_NLINK dnl If we are guaranteed that keyrings will work - that is dnl a) The kernel has keyrings enabled diff --git a/src/afs/LINUX/osi_vfsops.c b/src/afs/LINUX/osi_vfsops.c index 0d41bc7f3..faa571549 100644 --- a/src/afs/LINUX/osi_vfsops.c +++ b/src/afs/LINUX/osi_vfsops.c @@ -440,7 +440,7 @@ void vattr2inode(struct inode *ip, struct vattr *vp) { ip->i_ino = vp->va_nodeid; -#ifdef HAVE_SET_NLINK +#ifdef HAVE_LINUX_SET_NLINK set_nlink(ip, vp->va_nlink); #else ip->i_nlink = vp->va_nlink; diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4 index 4e0538171..d99feadf3 100644 --- a/src/cf/linux-test4.m4 +++ b/src/cf/linux-test4.m4 @@ -634,15 +634,3 @@ AC_DEFUN([LINUX_DOP_D_DELETE_TAKES_CONST], [ [define if dentry.d_op->d_delete takes a const argument], [-Werror]) ]) - - -AC_DEFUN([LINUX_HAVE_SET_NLINK], [ - AC_CHECK_LINUX_BUILD([for set_nlink], - [ac_cv_linux_have_set_nlink], - [#include ], - [struct inode _inode; - set_nlink(&_inode, 1);], - [HAVE_SET_NLINK], - [define if set_nlink exists], - [-Werror]) -]) -- 2.39.5