mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-04-06 17:49:11 +03:00
Linux 3.9 compat: set_fs_root takes const struct path *
torvalds/linux@dcf787f391 enforces const-correctness in passing struct path *. Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
parent
2a305c34c8
commit
a54718cfe0
@ -64,6 +64,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
|
|||||||
SPL_AC_USER_PATH_DIR
|
SPL_AC_USER_PATH_DIR
|
||||||
SPL_AC_SET_FS_PWD
|
SPL_AC_SET_FS_PWD
|
||||||
SPL_AC_2ARGS_SET_FS_PWD
|
SPL_AC_2ARGS_SET_FS_PWD
|
||||||
|
SPL_AC_SET_FS_PWD_WITH_CONST
|
||||||
SPL_AC_2ARGS_VFS_UNLINK
|
SPL_AC_2ARGS_VFS_UNLINK
|
||||||
SPL_AC_4ARGS_VFS_RENAME
|
SPL_AC_4ARGS_VFS_RENAME
|
||||||
SPL_AC_VFS_FSYNC
|
SPL_AC_VFS_FSYNC
|
||||||
@ -1686,11 +1687,54 @@ AC_DEFUN([SPL_AC_2ARGS_SET_FS_PWD],
|
|||||||
AC_MSG_RESULT(yes)
|
AC_MSG_RESULT(yes)
|
||||||
AC_DEFINE(HAVE_2ARGS_SET_FS_PWD, 1,
|
AC_DEFINE(HAVE_2ARGS_SET_FS_PWD, 1,
|
||||||
[set_fs_pwd() wants 2 args])
|
[set_fs_pwd() wants 2 args])
|
||||||
|
HAVE_2ARGS_SET_FS_PWD=yes
|
||||||
],[
|
],[
|
||||||
AC_MSG_RESULT(no)
|
AC_MSG_RESULT(no)
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
|
|
||||||
|
dnl #
|
||||||
|
dnl # 3.9 API change
|
||||||
|
dnl # set_fs_pwd takes const struct path *
|
||||||
|
dnl #
|
||||||
|
AC_DEFUN([SPL_AC_SET_FS_PWD_WITH_CONST],
|
||||||
|
if test "x$HAVE_2ARGS_SET_FS_PWD" = xyes; then
|
||||||
|
tmp_flags="$EXTRA_KCFLAGS"
|
||||||
|
EXTRA_KCFLAGS="-Werror"
|
||||||
|
[AC_MSG_CHECKING([whether set_fs_pwd() requires const struct path *])
|
||||||
|
SPL_LINUX_TRY_COMPILE([
|
||||||
|
#include <linux/spinlock.h>
|
||||||
|
#include <linux/fs_struct.h>
|
||||||
|
#include <linux/path.h>
|
||||||
|
void (*const set_fs_pwd_func)
|
||||||
|
(struct fs_struct *, const struct path *)
|
||||||
|
= set_fs_pwd;
|
||||||
|
],[
|
||||||
|
return 0;
|
||||||
|
],[
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
AC_DEFINE(HAVE_SET_FS_PWD_WITH_CONST, 1,
|
||||||
|
[set_fs_pwd() needs const path *])
|
||||||
|
],[
|
||||||
|
SPL_LINUX_TRY_COMPILE([
|
||||||
|
#include <linux/spinlock.h>
|
||||||
|
#include <linux/fs_struct.h>
|
||||||
|
#include <linux/path.h>
|
||||||
|
void (*const set_fs_pwd_func)
|
||||||
|
(struct fs_struct *, struct path *)
|
||||||
|
= set_fs_pwd;
|
||||||
|
],[
|
||||||
|
return 0;
|
||||||
|
],[
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
],[
|
||||||
|
AC_MSG_ERROR(unknown)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
EXTRA_KCFLAGS="$tmp_flags"
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
dnl #
|
dnl #
|
||||||
dnl # SLES API change, never adopted in mainline,
|
dnl # SLES API change, never adopted in mainline,
|
||||||
dnl # Third 'struct vfsmount *' argument removed.
|
dnl # Third 'struct vfsmount *' argument removed.
|
||||||
|
@ -840,7 +840,11 @@ EXPORT_SYMBOL(releasef);
|
|||||||
# ifdef HAVE_2ARGS_SET_FS_PWD
|
# ifdef HAVE_2ARGS_SET_FS_PWD
|
||||||
/* Used from 2.6.25 - 2.6.31+ */
|
/* Used from 2.6.25 - 2.6.31+ */
|
||||||
void
|
void
|
||||||
|
# ifdef HAVE_SET_FS_PWD_WITH_CONST
|
||||||
|
set_fs_pwd(struct fs_struct *fs, const struct path *path)
|
||||||
|
# else
|
||||||
set_fs_pwd(struct fs_struct *fs, struct path *path)
|
set_fs_pwd(struct fs_struct *fs, struct path *path)
|
||||||
|
# endif
|
||||||
{
|
{
|
||||||
struct path old_pwd;
|
struct path old_pwd;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user