mirror of
https://git.openafs.org/openafs.git
synced 2025-01-31 05:27:44 +00:00
Linux 3.3: use umode_t for mkdir and create inode ops
The mkdir and create inode operations have switched to using umode_t instead of int for the file mode. Reviewed-on: http://gerrit.openafs.org/6567 Reviewed-by: Derrick Brashear <shadow@dementix.org> Tested-by: BuildBot <buildbot@rampaginggeek.com> (cherry picked from commit beafc7f742ebad021bfcbed73884aecedee4e04b) Change-Id: Ib12c319b55810192c3181f4f2ec340b94a32cb6f Reviewed-on: http://gerrit.openafs.org/6944 Reviewed-by: Derrick Brashear <shadow@dementix.org> Tested-by: Derrick Brashear <shadow@dementix.org>
This commit is contained in:
parent
f565ed2e32
commit
2060ab9835
@ -953,6 +953,8 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
|
|||||||
LINUX_REGISTER_SYSCTL_TABLE_NOFLAG
|
LINUX_REGISTER_SYSCTL_TABLE_NOFLAG
|
||||||
LINUX_HAVE_DCACHE_LOCK
|
LINUX_HAVE_DCACHE_LOCK
|
||||||
LINUX_D_COUNT_IS_INT
|
LINUX_D_COUNT_IS_INT
|
||||||
|
LINUX_IOP_MKDIR_TAKES_UMODE_T
|
||||||
|
LINUX_IOP_CREATE_TAKES_UMODE_T
|
||||||
|
|
||||||
dnl If we are guaranteed that keyrings will work - that is
|
dnl If we are guaranteed that keyrings will work - that is
|
||||||
dnl a) The kernel has keyrings enabled
|
dnl a) The kernel has keyrings enabled
|
||||||
|
@ -1094,12 +1094,17 @@ struct dentry_operations afs_dentry_operations = {
|
|||||||
* name is in kernel space at this point.
|
* name is in kernel space at this point.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
|
#if defined(IOP_MKDIR_TAKES_UMODE_T)
|
||||||
|
afs_linux_create(struct inode *dip, struct dentry *dp, umode_t mode,
|
||||||
|
struct nameidata *nd)
|
||||||
|
#else
|
||||||
#ifdef IOP_CREATE_TAKES_NAMEIDATA
|
#ifdef IOP_CREATE_TAKES_NAMEIDATA
|
||||||
afs_linux_create(struct inode *dip, struct dentry *dp, int mode,
|
afs_linux_create(struct inode *dip, struct dentry *dp, int mode,
|
||||||
struct nameidata *nd)
|
struct nameidata *nd)
|
||||||
#else
|
#else
|
||||||
afs_linux_create(struct inode *dip, struct dentry *dp, int mode)
|
afs_linux_create(struct inode *dip, struct dentry *dp, int mode)
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
struct vattr vattr;
|
struct vattr vattr;
|
||||||
cred_t *credp = crref();
|
cred_t *credp = crref();
|
||||||
@ -1327,7 +1332,11 @@ afs_linux_symlink(struct inode *dip, struct dentry *dp, const char *target)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
#if defined(IOP_MKDIR_TAKES_UMODE_T)
|
||||||
|
afs_linux_mkdir(struct inode *dip, struct dentry *dp, umode_t mode)
|
||||||
|
#else
|
||||||
afs_linux_mkdir(struct inode *dip, struct dentry *dp, int mode)
|
afs_linux_mkdir(struct inode *dip, struct dentry *dp, int mode)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
int code;
|
int code;
|
||||||
cred_t *credp = crref();
|
cred_t *credp = crref();
|
||||||
|
@ -634,3 +634,30 @@ AC_DEFUN([LINUX_DOP_D_DELETE_TAKES_CONST], [
|
|||||||
[define if dentry.d_op->d_delete takes a const argument],
|
[define if dentry.d_op->d_delete takes a const argument],
|
||||||
[-Werror])
|
[-Werror])
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
AC_DEFUN([LINUX_IOP_MKDIR_TAKES_UMODE_T], [
|
||||||
|
AC_CHECK_LINUX_BUILD([whether inode.i_op->mkdir takes a umode_t argument],
|
||||||
|
[ac_cv_linux_iop_mkdir_takes_umode_t],
|
||||||
|
[#include <linux/fs.h>],
|
||||||
|
[struct inode_operations _i_ops;
|
||||||
|
int _mkdir(struct inode *i, struct dentry *d, umode_t m) {return 0;};
|
||||||
|
_i_ops.mkdir = _mkdir;],
|
||||||
|
[IOP_MKDIR_TAKES_UMODE_T],
|
||||||
|
[define if inode.i_op->mkdir takes a umode_t argument],
|
||||||
|
[-Werror])
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
AC_DEFUN([LINUX_IOP_CREATE_TAKES_UMODE_T], [
|
||||||
|
AC_CHECK_LINUX_BUILD([whether inode.i_op->create takes a umode_t argument],
|
||||||
|
[ac_cv_linux_iop_create_takes_umode_t],
|
||||||
|
[#include <linux/fs.h>],
|
||||||
|
[struct inode_operations _i_ops;
|
||||||
|
int _create(struct inode *i, struct dentry *d, umode_t m, struct nameidata *n)
|
||||||
|
{return 0;};
|
||||||
|
_i_ops.create = _create;],
|
||||||
|
[IOP_CREATE_TAKES_UMODE_T],
|
||||||
|
[define if inode.i_op->create takes a umode_t argument],
|
||||||
|
[-Werror])
|
||||||
|
])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user