switch ->create() to umode_t
vfs_create() ignores everything outside of 16bit subset of its mode argument; switching it to umode_t is obviously equivalent and it's the only caller of the method Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
18bb1db3e7
commit
4acdaf27eb
54 changed files with 72 additions and 72 deletions
Documentation/filesystems
drivers/staging/pohmelfs
fs
9p
affs
afs
bad_inode.cbfs
btrfs
ceph
cifs
coda
ecryptfs
exofs
ext2
ext3
ext4
fat
fuse
gfs2
hfs
hfsplus
hostfs
hpfs
hugetlbfs
jffs2
jfs
logfs
minix
namei.cncpfs
nfs
nilfs2
ocfs2
omfs
ramfs
reiserfs
sysv
ubifs
udf
ufs
xfs
include/linux
ipc
mm
security
|
@ -37,7 +37,7 @@ d_manage: no no yes (ref-walk) maybe
|
|||
|
||||
--------------------------- inode_operations ---------------------------
|
||||
prototypes:
|
||||
int (*create) (struct inode *,struct dentry *,int, struct nameidata *);
|
||||
int (*create) (struct inode *,struct dentry *,umode_t, struct nameidata *);
|
||||
struct dentry * (*lookup) (struct inode *,struct dentry *, struct nameid
|
||||
ata *);
|
||||
int (*link) (struct dentry *,struct inode *,struct dentry *);
|
||||
|
|
|
@ -341,7 +341,7 @@ This describes how the VFS can manipulate an inode in your
|
|||
filesystem. As of kernel 2.6.22, the following members are defined:
|
||||
|
||||
struct inode_operations {
|
||||
int (*create) (struct inode *,struct dentry *,int, struct nameidata *);
|
||||
int (*create) (struct inode *,struct dentry *, umode_t, struct nameidata *);
|
||||
struct dentry * (*lookup) (struct inode *,struct dentry *, struct nameidata *);
|
||||
int (*link) (struct dentry *,struct inode *,struct dentry *);
|
||||
int (*unlink) (struct inode *,struct dentry *);
|
||||
|
|
|
@ -661,7 +661,7 @@ static int pohmelfs_create_entry(struct inode *dir, struct dentry *dentry, u64 s
|
|||
/*
|
||||
* VFS create and mkdir callbacks.
|
||||
*/
|
||||
static int pohmelfs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int pohmelfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
return pohmelfs_create_entry(dir, dentry, 0, mode);
|
||||
|
|
|
@ -702,7 +702,7 @@ v9fs_create(struct v9fs_session_info *v9ses, struct inode *dir,
|
|||
*/
|
||||
|
||||
static int
|
||||
v9fs_vfs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
v9fs_vfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
int err;
|
||||
|
|
|
@ -253,7 +253,7 @@ int v9fs_open_to_dotl_flags(int flags)
|
|||
*/
|
||||
|
||||
static int
|
||||
v9fs_vfs_create_dotl(struct inode *dir, struct dentry *dentry, int omode,
|
||||
v9fs_vfs_create_dotl(struct inode *dir, struct dentry *dentry, umode_t omode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
int err = 0;
|
||||
|
@ -284,7 +284,7 @@ v9fs_vfs_create_dotl(struct inode *dir, struct dentry *dentry, int omode,
|
|||
|
||||
name = (char *) dentry->d_name.name;
|
||||
P9_DPRINTK(P9_DEBUG_VFS, "v9fs_vfs_create_dotl: name:%s flags:0x%x "
|
||||
"mode:0x%x\n", name, flags, omode);
|
||||
"mode:0x%hx\n", name, flags, omode);
|
||||
|
||||
dfid = v9fs_fid_lookup(dentry->d_parent);
|
||||
if (IS_ERR(dfid)) {
|
||||
|
|
|
@ -156,7 +156,7 @@ extern void affs_free_bitmap(struct super_block *sb);
|
|||
extern int affs_hash_name(struct super_block *sb, const u8 *name, unsigned int len);
|
||||
extern struct dentry *affs_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *);
|
||||
extern int affs_unlink(struct inode *dir, struct dentry *dentry);
|
||||
extern int affs_create(struct inode *dir, struct dentry *dentry, int mode, struct nameidata *);
|
||||
extern int affs_create(struct inode *dir, struct dentry *dentry, umode_t mode, struct nameidata *);
|
||||
extern int affs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode);
|
||||
extern int affs_rmdir(struct inode *dir, struct dentry *dentry);
|
||||
extern int affs_link(struct dentry *olddentry, struct inode *dir,
|
||||
|
|
|
@ -255,13 +255,13 @@ affs_unlink(struct inode *dir, struct dentry *dentry)
|
|||
}
|
||||
|
||||
int
|
||||
affs_create(struct inode *dir, struct dentry *dentry, int mode, struct nameidata *nd)
|
||||
affs_create(struct inode *dir, struct dentry *dentry, umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
struct super_block *sb = dir->i_sb;
|
||||
struct inode *inode;
|
||||
int error;
|
||||
|
||||
pr_debug("AFFS: create(%lu,\"%.*s\",0%o)\n",dir->i_ino,(int)dentry->d_name.len,
|
||||
pr_debug("AFFS: create(%lu,\"%.*s\",0%ho)\n",dir->i_ino,(int)dentry->d_name.len,
|
||||
dentry->d_name.name,mode);
|
||||
|
||||
inode = affs_new_inode(dir);
|
||||
|
|
|
@ -28,7 +28,7 @@ static int afs_d_delete(const struct dentry *dentry);
|
|||
static void afs_d_release(struct dentry *dentry);
|
||||
static int afs_lookup_filldir(void *_cookie, const char *name, int nlen,
|
||||
loff_t fpos, u64 ino, unsigned dtype);
|
||||
static int afs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int afs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd);
|
||||
static int afs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode);
|
||||
static int afs_rmdir(struct inode *dir, struct dentry *dentry);
|
||||
|
@ -948,7 +948,7 @@ static int afs_unlink(struct inode *dir, struct dentry *dentry)
|
|||
/*
|
||||
* create a regular file on an AFS filesystem
|
||||
*/
|
||||
static int afs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int afs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
struct afs_file_status status;
|
||||
|
@ -962,7 +962,7 @@ static int afs_create(struct inode *dir, struct dentry *dentry, int mode,
|
|||
|
||||
dvnode = AFS_FS_I(dir);
|
||||
|
||||
_enter("{%x:%u},{%s},%o,",
|
||||
_enter("{%x:%u},{%s},%ho,",
|
||||
dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name, mode);
|
||||
|
||||
ret = -ENAMETOOLONG;
|
||||
|
|
|
@ -173,7 +173,7 @@ static const struct file_operations bad_file_ops =
|
|||
};
|
||||
|
||||
static int bad_inode_create (struct inode *dir, struct dentry *dentry,
|
||||
int mode, struct nameidata *nd)
|
||||
umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
return -EIO;
|
||||
}
|
||||
|
|
|
@ -84,7 +84,7 @@ const struct file_operations bfs_dir_operations = {
|
|||
|
||||
extern void dump_imap(const char *, struct super_block *);
|
||||
|
||||
static int bfs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int bfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
int err;
|
||||
|
|
|
@ -4665,7 +4665,7 @@ static int btrfs_mknod(struct inode *dir, struct dentry *dentry,
|
|||
}
|
||||
|
||||
static int btrfs_create(struct inode *dir, struct dentry *dentry,
|
||||
int mode, struct nameidata *nd)
|
||||
umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
struct btrfs_trans_handle *trans;
|
||||
struct btrfs_root *root = BTRFS_I(dir)->root;
|
||||
|
|
|
@ -699,7 +699,7 @@ static int ceph_mknod(struct inode *dir, struct dentry *dentry,
|
|||
return err;
|
||||
}
|
||||
|
||||
static int ceph_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int ceph_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
dout("create in dir %p dentry %p name '%.*s'\n",
|
||||
|
|
|
@ -44,7 +44,7 @@ extern const struct address_space_operations cifs_addr_ops_smallbuf;
|
|||
/* Functions related to inodes */
|
||||
extern const struct inode_operations cifs_dir_inode_ops;
|
||||
extern struct inode *cifs_root_iget(struct super_block *);
|
||||
extern int cifs_create(struct inode *, struct dentry *, int,
|
||||
extern int cifs_create(struct inode *, struct dentry *, umode_t,
|
||||
struct nameidata *);
|
||||
extern struct dentry *cifs_lookup(struct inode *, struct dentry *,
|
||||
struct nameidata *);
|
||||
|
|
|
@ -136,7 +136,7 @@ build_path_from_dentry(struct dentry *direntry)
|
|||
/* Inode operations in similar order to how they appear in Linux file fs.h */
|
||||
|
||||
int
|
||||
cifs_create(struct inode *inode, struct dentry *direntry, int mode,
|
||||
cifs_create(struct inode *inode, struct dentry *direntry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
int rc = -ENOENT;
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
#include "coda_int.h"
|
||||
|
||||
/* dir inode-ops */
|
||||
static int coda_create(struct inode *dir, struct dentry *new, int mode, struct nameidata *nd);
|
||||
static int coda_create(struct inode *dir, struct dentry *new, umode_t mode, struct nameidata *nd);
|
||||
static struct dentry *coda_lookup(struct inode *dir, struct dentry *target, struct nameidata *nd);
|
||||
static int coda_link(struct dentry *old_dentry, struct inode *dir_inode,
|
||||
struct dentry *entry);
|
||||
|
@ -191,7 +191,7 @@ static inline void coda_dir_drop_nlink(struct inode *dir)
|
|||
}
|
||||
|
||||
/* creation routines: create, mknod, mkdir, link, symlink */
|
||||
static int coda_create(struct inode *dir, struct dentry *de, int mode, struct nameidata *nd)
|
||||
static int coda_create(struct inode *dir, struct dentry *de, umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
int error;
|
||||
const char *name=de->d_name.name;
|
||||
|
|
|
@ -267,7 +267,7 @@ static int ecryptfs_initialize_file(struct dentry *ecryptfs_dentry,
|
|||
*/
|
||||
static int
|
||||
ecryptfs_create(struct inode *directory_inode, struct dentry *ecryptfs_dentry,
|
||||
int mode, struct nameidata *nd)
|
||||
umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
struct inode *ecryptfs_inode;
|
||||
int rc;
|
||||
|
|
|
@ -59,7 +59,7 @@ static struct dentry *exofs_lookup(struct inode *dir, struct dentry *dentry,
|
|||
return d_splice_alias(inode, dentry);
|
||||
}
|
||||
|
||||
static int exofs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int exofs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
struct inode *inode = exofs_new_inode(dir, mode);
|
||||
|
|
|
@ -94,7 +94,7 @@ struct dentry *ext2_get_parent(struct dentry *child)
|
|||
* If the create succeeds, we fill in the inode information
|
||||
* with d_instantiate().
|
||||
*/
|
||||
static int ext2_create (struct inode * dir, struct dentry * dentry, int mode, struct nameidata *nd)
|
||||
static int ext2_create (struct inode * dir, struct dentry * dentry, umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
struct inode *inode;
|
||||
|
||||
|
|
|
@ -1698,7 +1698,7 @@ static int ext3_add_nondir(handle_t *handle,
|
|||
* If the create succeeds, we fill in the inode information
|
||||
* with d_instantiate().
|
||||
*/
|
||||
static int ext3_create (struct inode * dir, struct dentry * dentry, int mode,
|
||||
static int ext3_create (struct inode * dir, struct dentry * dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
handle_t *handle;
|
||||
|
|
|
@ -1736,7 +1736,7 @@ static int ext4_add_nondir(handle_t *handle,
|
|||
* If the create succeeds, we fill in the inode information
|
||||
* with d_instantiate().
|
||||
*/
|
||||
static int ext4_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int ext4_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
handle_t *handle;
|
||||
|
|
|
@ -264,7 +264,7 @@ static int msdos_add_entry(struct inode *dir, const unsigned char *name,
|
|||
}
|
||||
|
||||
/***** Create a file */
|
||||
static int msdos_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int msdos_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
struct super_block *sb = dir->i_sb;
|
||||
|
|
|
@ -781,7 +781,7 @@ static struct dentry *vfat_lookup(struct inode *dir, struct dentry *dentry,
|
|||
return ERR_PTR(err);
|
||||
}
|
||||
|
||||
static int vfat_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int vfat_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
struct super_block *sb = dir->i_sb;
|
||||
|
|
|
@ -573,7 +573,7 @@ static int fuse_mknod(struct inode *dir, struct dentry *entry, int mode,
|
|||
return create_new_entry(fc, req, dir, entry, mode);
|
||||
}
|
||||
|
||||
static int fuse_create(struct inode *dir, struct dentry *entry, int mode,
|
||||
static int fuse_create(struct inode *dir, struct dentry *entry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
if (nd) {
|
||||
|
|
|
@ -760,7 +760,7 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry,
|
|||
*/
|
||||
|
||||
static int gfs2_create(struct inode *dir, struct dentry *dentry,
|
||||
int mode, struct nameidata *nd)
|
||||
umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
int excl = 0;
|
||||
if (nd && (nd->flags & LOOKUP_EXCL))
|
||||
|
|
|
@ -186,7 +186,7 @@ static int hfs_dir_release(struct inode *inode, struct file *file)
|
|||
* a directory and return a corresponding inode, given the inode for
|
||||
* the directory and the name (and its length) of the new file.
|
||||
*/
|
||||
static int hfs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int hfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
struct inode *inode;
|
||||
|
|
|
@ -453,7 +453,7 @@ static int hfsplus_mknod(struct inode *dir, struct dentry *dentry,
|
|||
return res;
|
||||
}
|
||||
|
||||
static int hfsplus_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int hfsplus_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
return hfsplus_mknod(dir, dentry, mode, 0);
|
||||
|
|
|
@ -551,7 +551,7 @@ static int read_name(struct inode *ino, char *name)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int hostfs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
int hostfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
struct inode *inode;
|
||||
|
|
|
@ -115,7 +115,7 @@ static int hpfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
|
|||
return err;
|
||||
}
|
||||
|
||||
static int hpfs_create(struct inode *dir, struct dentry *dentry, int mode, struct nameidata *nd)
|
||||
static int hpfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
const unsigned char *name = dentry->d_name.name;
|
||||
unsigned len = dentry->d_name.len;
|
||||
|
|
|
@ -531,7 +531,7 @@ static int hugetlbfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mod
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int hugetlbfs_create(struct inode *dir, struct dentry *dentry, int mode, struct nameidata *nd)
|
||||
static int hugetlbfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
return hugetlbfs_mknod(dir, dentry, mode | S_IFREG, 0);
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
static int jffs2_readdir (struct file *, void *, filldir_t);
|
||||
|
||||
static int jffs2_create (struct inode *,struct dentry *,int,
|
||||
static int jffs2_create (struct inode *,struct dentry *,umode_t,
|
||||
struct nameidata *);
|
||||
static struct dentry *jffs2_lookup (struct inode *,struct dentry *,
|
||||
struct nameidata *);
|
||||
|
@ -169,8 +169,8 @@ static int jffs2_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
|||
/***********************************************************************/
|
||||
|
||||
|
||||
static int jffs2_create(struct inode *dir_i, struct dentry *dentry, int mode,
|
||||
struct nameidata *nd)
|
||||
static int jffs2_create(struct inode *dir_i, struct dentry *dentry,
|
||||
umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
struct jffs2_raw_inode *ri;
|
||||
struct jffs2_inode_info *f, *dir_f;
|
||||
|
|
|
@ -72,7 +72,7 @@ static inline void free_ea_wmap(struct inode *inode)
|
|||
* RETURN: Errors from subroutines
|
||||
*
|
||||
*/
|
||||
static int jfs_create(struct inode *dip, struct dentry *dentry, int mode,
|
||||
static int jfs_create(struct inode *dip, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
int rc = 0;
|
||||
|
|
|
@ -501,7 +501,7 @@ static int logfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
|
|||
return __logfs_create(dir, dentry, inode, NULL, 0);
|
||||
}
|
||||
|
||||
static int logfs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int logfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
struct inode *inode;
|
||||
|
|
|
@ -54,7 +54,7 @@ static int minix_mknod(struct inode * dir, struct dentry *dentry, int mode, dev_
|
|||
return error;
|
||||
}
|
||||
|
||||
static int minix_create(struct inode * dir, struct dentry *dentry, int mode,
|
||||
static int minix_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
return minix_mknod(dir, dentry, mode, 0);
|
||||
|
|
|
@ -1976,7 +1976,7 @@ void unlock_rename(struct dentry *p1, struct dentry *p2)
|
|||
}
|
||||
}
|
||||
|
||||
int vfs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
int vfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
int error = may_create(dir, dentry);
|
||||
|
|
|
@ -30,7 +30,7 @@ static void ncp_do_readdir(struct file *, void *, filldir_t,
|
|||
|
||||
static int ncp_readdir(struct file *, void *, filldir_t);
|
||||
|
||||
static int ncp_create(struct inode *, struct dentry *, int, struct nameidata *);
|
||||
static int ncp_create(struct inode *, struct dentry *, umode_t, struct nameidata *);
|
||||
static struct dentry *ncp_lookup(struct inode *, struct dentry *, struct nameidata *);
|
||||
static int ncp_unlink(struct inode *, struct dentry *);
|
||||
static int ncp_mkdir(struct inode *, struct dentry *, umode_t);
|
||||
|
@ -979,7 +979,7 @@ int ncp_create_new(struct inode *dir, struct dentry *dentry, int mode,
|
|||
return error;
|
||||
}
|
||||
|
||||
static int ncp_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int ncp_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
return ncp_create_new(dir, dentry, mode, 0, 0);
|
||||
|
|
12
fs/nfs/dir.c
12
fs/nfs/dir.c
|
@ -47,7 +47,7 @@ static int nfs_opendir(struct inode *, struct file *);
|
|||
static int nfs_closedir(struct inode *, struct file *);
|
||||
static int nfs_readdir(struct file *, void *, filldir_t);
|
||||
static struct dentry *nfs_lookup(struct inode *, struct dentry *, struct nameidata *);
|
||||
static int nfs_create(struct inode *, struct dentry *, int, struct nameidata *);
|
||||
static int nfs_create(struct inode *, struct dentry *, umode_t, struct nameidata *);
|
||||
static int nfs_mkdir(struct inode *, struct dentry *, umode_t);
|
||||
static int nfs_rmdir(struct inode *, struct dentry *);
|
||||
static int nfs_unlink(struct inode *, struct dentry *);
|
||||
|
@ -112,7 +112,7 @@ const struct inode_operations nfs3_dir_inode_operations = {
|
|||
#ifdef CONFIG_NFS_V4
|
||||
|
||||
static struct dentry *nfs_atomic_lookup(struct inode *, struct dentry *, struct nameidata *);
|
||||
static int nfs_open_create(struct inode *dir, struct dentry *dentry, int mode, struct nameidata *nd);
|
||||
static int nfs_open_create(struct inode *dir, struct dentry *dentry, umode_t mode, struct nameidata *nd);
|
||||
const struct inode_operations nfs4_dir_inode_operations = {
|
||||
.create = nfs_open_create,
|
||||
.lookup = nfs_atomic_lookup,
|
||||
|
@ -1573,8 +1573,8 @@ static int nfs_open_revalidate(struct dentry *dentry, struct nameidata *nd)
|
|||
return nfs_lookup_revalidate(dentry, nd);
|
||||
}
|
||||
|
||||
static int nfs_open_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
struct nameidata *nd)
|
||||
static int nfs_open_create(struct inode *dir, struct dentry *dentry,
|
||||
umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
struct nfs_open_context *ctx = NULL;
|
||||
struct iattr attr;
|
||||
|
@ -1664,8 +1664,8 @@ int nfs_instantiate(struct dentry *dentry, struct nfs_fh *fhandle,
|
|||
* that the operation succeeded on the server, but an error in the
|
||||
* reply path made it appear to have failed.
|
||||
*/
|
||||
static int nfs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
struct nameidata *nd)
|
||||
static int nfs_create(struct inode *dir, struct dentry *dentry,
|
||||
umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
struct iattr attr;
|
||||
int error;
|
||||
|
|
|
@ -84,7 +84,7 @@ nilfs_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd)
|
|||
* If the create succeeds, we fill in the inode information
|
||||
* with d_instantiate().
|
||||
*/
|
||||
static int nilfs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int nilfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
struct inode *inode;
|
||||
|
|
|
@ -536,7 +536,7 @@ static int dlmfs_mkdir(struct inode * dir,
|
|||
|
||||
static int dlmfs_create(struct inode *dir,
|
||||
struct dentry *dentry,
|
||||
int mode,
|
||||
umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
int status = 0;
|
||||
|
|
|
@ -617,7 +617,7 @@ static int ocfs2_mkdir(struct inode *dir,
|
|||
|
||||
static int ocfs2_create(struct inode *dir,
|
||||
struct dentry *dentry,
|
||||
int mode,
|
||||
umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
int ret;
|
||||
|
|
|
@ -284,7 +284,7 @@ static int omfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
|
|||
return omfs_add_node(dir, dentry, mode | S_IFDIR);
|
||||
}
|
||||
|
||||
static int omfs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int omfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
return omfs_add_node(dir, dentry, mode | S_IFREG);
|
||||
|
|
|
@ -114,7 +114,7 @@ static int ramfs_mkdir(struct inode * dir, struct dentry * dentry, umode_t mode)
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int ramfs_create(struct inode *dir, struct dentry *dentry, int mode, struct nameidata *nd)
|
||||
static int ramfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
return ramfs_mknod(dir, dentry, mode | S_IFREG, 0);
|
||||
}
|
||||
|
|
|
@ -572,7 +572,7 @@ static int new_inode_init(struct inode *inode, struct inode *dir, int mode)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int reiserfs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int reiserfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
int retval;
|
||||
|
|
|
@ -80,7 +80,7 @@ static int sysv_mknod(struct inode * dir, struct dentry * dentry, int mode, dev_
|
|||
return err;
|
||||
}
|
||||
|
||||
static int sysv_create(struct inode * dir, struct dentry * dentry, int mode, struct nameidata *nd)
|
||||
static int sysv_create(struct inode * dir, struct dentry * dentry, umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
return sysv_mknod(dir, dentry, mode, 0);
|
||||
}
|
||||
|
|
|
@ -253,7 +253,7 @@ static struct dentry *ubifs_lookup(struct inode *dir, struct dentry *dentry,
|
|||
return ERR_PTR(err);
|
||||
}
|
||||
|
||||
static int ubifs_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int ubifs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
struct inode *inode;
|
||||
|
@ -268,7 +268,7 @@ static int ubifs_create(struct inode *dir, struct dentry *dentry, int mode,
|
|||
* parent directory inode.
|
||||
*/
|
||||
|
||||
dbg_gen("dent '%.*s', mode %#x in dir ino %lu",
|
||||
dbg_gen("dent '%.*s', mode %#hx in dir ino %lu",
|
||||
dentry->d_name.len, dentry->d_name.name, mode, dir->i_ino);
|
||||
|
||||
err = ubifs_budget_space(c, &req);
|
||||
|
|
|
@ -552,7 +552,7 @@ static int udf_delete_entry(struct inode *inode, struct fileIdentDesc *fi,
|
|||
return udf_write_fi(inode, cfi, fi, fibh, NULL, NULL);
|
||||
}
|
||||
|
||||
static int udf_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int udf_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
struct udf_fileident_bh fibh;
|
||||
|
|
|
@ -70,7 +70,7 @@ static struct dentry *ufs_lookup(struct inode * dir, struct dentry *dentry, stru
|
|||
* If the create succeeds, we fill in the inode information
|
||||
* with d_instantiate().
|
||||
*/
|
||||
static int ufs_create (struct inode * dir, struct dentry * dentry, int mode,
|
||||
static int ufs_create (struct inode * dir, struct dentry * dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
struct inode *inode;
|
||||
|
|
|
@ -231,7 +231,7 @@ STATIC int
|
|||
xfs_vn_create(
|
||||
struct inode *dir,
|
||||
struct dentry *dentry,
|
||||
int mode,
|
||||
umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
return xfs_vn_mknod(dir, dentry, mode, 0);
|
||||
|
|
|
@ -1516,7 +1516,7 @@ extern void unlock_super(struct super_block *);
|
|||
/*
|
||||
* VFS helper functions..
|
||||
*/
|
||||
extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *);
|
||||
extern int vfs_create(struct inode *, struct dentry *, umode_t, struct nameidata *);
|
||||
extern int vfs_mkdir(struct inode *, struct dentry *, umode_t);
|
||||
extern int vfs_mknod(struct inode *, struct dentry *, int, dev_t);
|
||||
extern int vfs_symlink(struct inode *, struct dentry *, const char *);
|
||||
|
@ -1619,7 +1619,7 @@ struct inode_operations {
|
|||
int (*readlink) (struct dentry *, char __user *,int);
|
||||
void (*put_link) (struct dentry *, struct nameidata *, void *);
|
||||
|
||||
int (*create) (struct inode *,struct dentry *,int, struct nameidata *);
|
||||
int (*create) (struct inode *,struct dentry *,umode_t,struct nameidata *);
|
||||
int (*link) (struct dentry *,struct inode *,struct dentry *);
|
||||
int (*unlink) (struct inode *,struct dentry *);
|
||||
int (*symlink) (struct inode *,struct dentry *,const char *);
|
||||
|
|
|
@ -1447,7 +1447,7 @@ struct security_operations {
|
|||
const struct qstr *qstr, char **name,
|
||||
void **value, size_t *len);
|
||||
int (*inode_create) (struct inode *dir,
|
||||
struct dentry *dentry, int mode);
|
||||
struct dentry *dentry, umode_t mode);
|
||||
int (*inode_link) (struct dentry *old_dentry,
|
||||
struct inode *dir, struct dentry *new_dentry);
|
||||
int (*inode_unlink) (struct inode *dir, struct dentry *dentry);
|
||||
|
@ -1716,7 +1716,7 @@ int security_inode_init_security(struct inode *inode, struct inode *dir,
|
|||
int security_old_inode_init_security(struct inode *inode, struct inode *dir,
|
||||
const struct qstr *qstr, char **name,
|
||||
void **value, size_t *len);
|
||||
int security_inode_create(struct inode *dir, struct dentry *dentry, int mode);
|
||||
int security_inode_create(struct inode *dir, struct dentry *dentry, umode_t mode);
|
||||
int security_inode_link(struct dentry *old_dentry, struct inode *dir,
|
||||
struct dentry *new_dentry);
|
||||
int security_inode_unlink(struct inode *dir, struct dentry *dentry);
|
||||
|
@ -2061,7 +2061,7 @@ static inline int security_old_inode_init_security(struct inode *inode,
|
|||
|
||||
static inline int security_inode_create(struct inode *dir,
|
||||
struct dentry *dentry,
|
||||
int mode)
|
||||
umode_t mode)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -295,7 +295,7 @@ static void mqueue_evict_inode(struct inode *inode)
|
|||
}
|
||||
|
||||
static int mqueue_create(struct inode *dir, struct dentry *dentry,
|
||||
int mode, struct nameidata *nd)
|
||||
umode_t mode, struct nameidata *nd)
|
||||
{
|
||||
struct inode *inode;
|
||||
struct mq_attr *attr = dentry->d_fsdata;
|
||||
|
@ -610,7 +610,7 @@ static int mq_attr_ok(struct ipc_namespace *ipc_ns, struct mq_attr *attr)
|
|||
* Invoked when creating a new queue via sys_mq_open
|
||||
*/
|
||||
static struct file *do_create(struct ipc_namespace *ipc_ns, struct dentry *dir,
|
||||
struct dentry *dentry, int oflag, mode_t mode,
|
||||
struct dentry *dentry, int oflag, umode_t mode,
|
||||
struct mq_attr *attr)
|
||||
{
|
||||
const struct cred *cred = current_cred();
|
||||
|
|
|
@ -1499,7 +1499,7 @@ static int shmem_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int shmem_create(struct inode *dir, struct dentry *dentry, int mode,
|
||||
static int shmem_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
struct nameidata *nd)
|
||||
{
|
||||
return shmem_mknod(dir, dentry, mode | S_IFREG, 0);
|
||||
|
|
|
@ -125,7 +125,7 @@ static int cap_inode_init_security(struct inode *inode, struct inode *dir,
|
|||
}
|
||||
|
||||
static int cap_inode_create(struct inode *inode, struct dentry *dentry,
|
||||
int mask)
|
||||
umode_t mask)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -475,7 +475,7 @@ int security_path_chroot(struct path *path)
|
|||
}
|
||||
#endif
|
||||
|
||||
int security_inode_create(struct inode *dir, struct dentry *dentry, int mode)
|
||||
int security_inode_create(struct inode *dir, struct dentry *dentry, umode_t mode)
|
||||
{
|
||||
if (unlikely(IS_PRIVATE(dir)))
|
||||
return 0;
|
||||
|
|
|
@ -2598,7 +2598,7 @@ static int selinux_inode_init_security(struct inode *inode, struct inode *dir,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int selinux_inode_create(struct inode *dir, struct dentry *dentry, int mask)
|
||||
static int selinux_inode_create(struct inode *dir, struct dentry *dentry, umode_t mode)
|
||||
{
|
||||
return may_create(dir, dentry, SECCLASS_FILE);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue