Skip to content

Commit

Permalink
Remove kern_path() wrapper
Browse files Browse the repository at this point in the history
The kern_path() function has been available since Linux 2.6.28.
There is no longer a need to maintain this compatibility code.

Signed-off-by: Brian Behlendorf <[email protected]>
  • Loading branch information
behlendorf committed Oct 17, 2014
1 parent 3d5392c commit 599662c
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 55 deletions.
39 changes: 0 additions & 39 deletions config/spl-build.m4
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
SPL_AC_PUT_TASK_STRUCT
SPL_AC_EXPORTED_RWSEM_IS_LOCKED
SPL_AC_KERNEL_FALLOCATE
SPL_AC_KERN_PATH
SPL_AC_CONFIG_ZLIB_INFLATE
SPL_AC_CONFIG_ZLIB_DEFLATE
SPL_AC_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE
Expand Down Expand Up @@ -1326,44 +1325,6 @@ AC_DEFUN([SPL_AC_EXPORTED_RWSEM_IS_LOCKED],
])
])

dnl #
dnl # 2.6.28 API change
dnl # The kern_path() function has been introduced. We adopt it as the new way
dnl # of looking up paths. When it is not available, we emulate it using the
dnl # older interfaces.
dnl #
AC_DEFUN([SPL_AC_KERN_PATH],
[AC_MSG_CHECKING([whether kern_path() is available])
SPL_LINUX_TRY_COMPILE_SYMBOL([
#include <linux/namei.h>
], [
int r = kern_path(NULL, 0, NULL);
], [kern_path], [fs/namei.c], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_KERN_PATH, 1,
[kern_path() is available])
], [
AC_MSG_RESULT(no)
AC_MSG_CHECKING([whether path_lookup() is available])
SPL_LINUX_TRY_COMPILE_SYMBOL([
#include <linux/namei.h>
], [
int r = path_lookup(NULL, 0, NULL);
], [path_lookup], [fs/namei.c], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_KERN_PATH, 1,
[kern_path() is available])
], [
AC_MSG_RESULT(no)
AC_MSG_ERROR([
*** Neither kern_path() nor path_lookup() is available.
*** Please file an issue:
*** https://github.com/zfsonlinux/spl/issues/new])
])
])
])

dnl #
dnl # zlib inflate compat,
dnl # Verify the kernel has CONFIG_ZLIB_INFLATE support enabled.
Expand Down
16 changes: 0 additions & 16 deletions module/spl/spl-vnode.c
Original file line number Diff line number Diff line change
Expand Up @@ -296,22 +296,6 @@ vn_seek(vnode_t *vp, offset_t ooff, offset_t *noffp, void *ct)
}
EXPORT_SYMBOL(vn_seek);

/*
* kern_path() was introduced in Linux 2.6.28. We duplicate it as a
* compatibility shim for earlier kernels.
*/
#ifndef HAVE_KERN_PATH
int
kern_path(const char *name, unsigned int flags, struct path *path)
{
struct nameidata nd;
int rc = path_lookup(name, flags, &nd);
if (!rc)
*path = nd.path;
return rc;
}
#endif /* HAVE_KERN_PATH */

/*
* spl_basename() takes a NULL-terminated string s as input containing a path.
* It returns a char pointer to a string and a length that describe the
Expand Down

0 comments on commit 599662c

Please sign in to comment.