mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 14:13:01 -04:00
Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
* 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits) reiserfs: Properly display mount options in /proc/mounts vfs: prevent remount read-only if pending removes vfs: count unlinked inodes vfs: protect remounting superblock read-only vfs: keep list of mounts for each superblock vfs: switch ->show_options() to struct dentry * vfs: switch ->show_path() to struct dentry * vfs: switch ->show_devname() to struct dentry * vfs: switch ->show_stats to struct dentry * switch security_path_chmod() to struct path * vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb vfs: trim includes a bit switch mnt_namespace ->root to struct mount vfs: take /proc/*/mounts and friends to fs/proc_namespace.c vfs: opencode mntget() mnt_set_mountpoint() vfs: spread struct mount - remaining argument of next_mnt() vfs: move fsnotify junk to struct mount vfs: move mnt_devname vfs: move mnt_list to struct mount vfs: switch pnode.h macros to struct mount * ...
This commit is contained in:
commit
972b2c7199
476 changed files with 2588 additions and 2879 deletions
|
|
@ -468,13 +468,13 @@ extern int audit_set_loginuid(struct task_struct *task, uid_t loginuid);
|
|||
#define audit_get_sessionid(t) ((t)->sessionid)
|
||||
extern void audit_log_task_context(struct audit_buffer *ab);
|
||||
extern void __audit_ipc_obj(struct kern_ipc_perm *ipcp);
|
||||
extern void __audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode);
|
||||
extern void __audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, umode_t mode);
|
||||
extern int audit_bprm(struct linux_binprm *bprm);
|
||||
extern void audit_socketcall(int nargs, unsigned long *args);
|
||||
extern int audit_sockaddr(int len, void *addr);
|
||||
extern void __audit_fd_pair(int fd1, int fd2);
|
||||
extern int audit_set_macxattr(const char *name);
|
||||
extern void __audit_mq_open(int oflag, mode_t mode, struct mq_attr *attr);
|
||||
extern void __audit_mq_open(int oflag, umode_t mode, struct mq_attr *attr);
|
||||
extern void __audit_mq_sendrecv(mqd_t mqdes, size_t msg_len, unsigned int msg_prio, const struct timespec *abs_timeout);
|
||||
extern void __audit_mq_notify(mqd_t mqdes, const struct sigevent *notification);
|
||||
extern void __audit_mq_getsetattr(mqd_t mqdes, struct mq_attr *mqstat);
|
||||
|
|
@ -494,12 +494,12 @@ static inline void audit_fd_pair(int fd1, int fd2)
|
|||
if (unlikely(!audit_dummy_context()))
|
||||
__audit_fd_pair(fd1, fd2);
|
||||
}
|
||||
static inline void audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode)
|
||||
static inline void audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, umode_t mode)
|
||||
{
|
||||
if (unlikely(!audit_dummy_context()))
|
||||
__audit_ipc_set_perm(qbytes, uid, gid, mode);
|
||||
}
|
||||
static inline void audit_mq_open(int oflag, mode_t mode, struct mq_attr *attr)
|
||||
static inline void audit_mq_open(int oflag, umode_t mode, struct mq_attr *attr)
|
||||
{
|
||||
if (unlikely(!audit_dummy_context()))
|
||||
__audit_mq_open(oflag, mode, attr);
|
||||
|
|
|
|||
|
|
@ -319,7 +319,7 @@ struct cftype {
|
|||
* If not 0, file mode is set to this value, otherwise it will
|
||||
* be figured out automatically
|
||||
*/
|
||||
mode_t mode;
|
||||
umode_t mode;
|
||||
|
||||
/*
|
||||
* If non-zero, defines the maximum length of string that can
|
||||
|
|
|
|||
|
|
@ -422,9 +422,9 @@ asmlinkage long compat_sys_getdents64(unsigned int fd,
|
|||
asmlinkage long compat_sys_vmsplice(int fd, const struct compat_iovec __user *,
|
||||
unsigned int nr_segs, unsigned int flags);
|
||||
asmlinkage long compat_sys_open(const char __user *filename, int flags,
|
||||
int mode);
|
||||
umode_t mode);
|
||||
asmlinkage long compat_sys_openat(unsigned int dfd, const char __user *filename,
|
||||
int flags, int mode);
|
||||
int flags, umode_t mode);
|
||||
asmlinkage long compat_sys_open_by_handle_at(int mountdirfd,
|
||||
struct file_handle __user *handle,
|
||||
int flags);
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ extern struct config_item *config_group_find_item(struct config_group *,
|
|||
struct configfs_attribute {
|
||||
const char *ca_name;
|
||||
struct module *ca_owner;
|
||||
mode_t ca_mode;
|
||||
umode_t ca_mode;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ extern struct dentry *arch_debugfs_dir;
|
|||
extern const struct file_operations debugfs_file_operations;
|
||||
extern const struct inode_operations debugfs_link_operations;
|
||||
|
||||
struct dentry *debugfs_create_file(const char *name, mode_t mode,
|
||||
struct dentry *debugfs_create_file(const char *name, umode_t mode,
|
||||
struct dentry *parent, void *data,
|
||||
const struct file_operations *fops);
|
||||
|
||||
|
|
@ -61,28 +61,28 @@ void debugfs_remove_recursive(struct dentry *dentry);
|
|||
struct dentry *debugfs_rename(struct dentry *old_dir, struct dentry *old_dentry,
|
||||
struct dentry *new_dir, const char *new_name);
|
||||
|
||||
struct dentry *debugfs_create_u8(const char *name, mode_t mode,
|
||||
struct dentry *debugfs_create_u8(const char *name, umode_t mode,
|
||||
struct dentry *parent, u8 *value);
|
||||
struct dentry *debugfs_create_u16(const char *name, mode_t mode,
|
||||
struct dentry *debugfs_create_u16(const char *name, umode_t mode,
|
||||
struct dentry *parent, u16 *value);
|
||||
struct dentry *debugfs_create_u32(const char *name, mode_t mode,
|
||||
struct dentry *debugfs_create_u32(const char *name, umode_t mode,
|
||||
struct dentry *parent, u32 *value);
|
||||
struct dentry *debugfs_create_u64(const char *name, mode_t mode,
|
||||
struct dentry *debugfs_create_u64(const char *name, umode_t mode,
|
||||
struct dentry *parent, u64 *value);
|
||||
struct dentry *debugfs_create_x8(const char *name, mode_t mode,
|
||||
struct dentry *debugfs_create_x8(const char *name, umode_t mode,
|
||||
struct dentry *parent, u8 *value);
|
||||
struct dentry *debugfs_create_x16(const char *name, mode_t mode,
|
||||
struct dentry *debugfs_create_x16(const char *name, umode_t mode,
|
||||
struct dentry *parent, u16 *value);
|
||||
struct dentry *debugfs_create_x32(const char *name, mode_t mode,
|
||||
struct dentry *debugfs_create_x32(const char *name, umode_t mode,
|
||||
struct dentry *parent, u32 *value);
|
||||
struct dentry *debugfs_create_x64(const char *name, mode_t mode,
|
||||
struct dentry *debugfs_create_x64(const char *name, umode_t mode,
|
||||
struct dentry *parent, u64 *value);
|
||||
struct dentry *debugfs_create_size_t(const char *name, mode_t mode,
|
||||
struct dentry *debugfs_create_size_t(const char *name, umode_t mode,
|
||||
struct dentry *parent, size_t *value);
|
||||
struct dentry *debugfs_create_bool(const char *name, mode_t mode,
|
||||
struct dentry *debugfs_create_bool(const char *name, umode_t mode,
|
||||
struct dentry *parent, u32 *value);
|
||||
|
||||
struct dentry *debugfs_create_blob(const char *name, mode_t mode,
|
||||
struct dentry *debugfs_create_blob(const char *name, umode_t mode,
|
||||
struct dentry *parent,
|
||||
struct debugfs_blob_wrapper *blob);
|
||||
|
||||
|
|
@ -105,7 +105,7 @@ bool debugfs_initialized(void);
|
|||
* want to duplicate the design decision mistakes of procfs and devfs again.
|
||||
*/
|
||||
|
||||
static inline struct dentry *debugfs_create_file(const char *name, mode_t mode,
|
||||
static inline struct dentry *debugfs_create_file(const char *name, umode_t mode,
|
||||
struct dentry *parent, void *data,
|
||||
const struct file_operations *fops)
|
||||
{
|
||||
|
|
@ -137,70 +137,70 @@ static inline struct dentry *debugfs_rename(struct dentry *old_dir, struct dentr
|
|||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct dentry *debugfs_create_u8(const char *name, mode_t mode,
|
||||
static inline struct dentry *debugfs_create_u8(const char *name, umode_t mode,
|
||||
struct dentry *parent,
|
||||
u8 *value)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct dentry *debugfs_create_u16(const char *name, mode_t mode,
|
||||
static inline struct dentry *debugfs_create_u16(const char *name, umode_t mode,
|
||||
struct dentry *parent,
|
||||
u16 *value)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct dentry *debugfs_create_u32(const char *name, mode_t mode,
|
||||
static inline struct dentry *debugfs_create_u32(const char *name, umode_t mode,
|
||||
struct dentry *parent,
|
||||
u32 *value)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct dentry *debugfs_create_u64(const char *name, mode_t mode,
|
||||
static inline struct dentry *debugfs_create_u64(const char *name, umode_t mode,
|
||||
struct dentry *parent,
|
||||
u64 *value)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct dentry *debugfs_create_x8(const char *name, mode_t mode,
|
||||
static inline struct dentry *debugfs_create_x8(const char *name, umode_t mode,
|
||||
struct dentry *parent,
|
||||
u8 *value)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct dentry *debugfs_create_x16(const char *name, mode_t mode,
|
||||
static inline struct dentry *debugfs_create_x16(const char *name, umode_t mode,
|
||||
struct dentry *parent,
|
||||
u16 *value)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct dentry *debugfs_create_x32(const char *name, mode_t mode,
|
||||
static inline struct dentry *debugfs_create_x32(const char *name, umode_t mode,
|
||||
struct dentry *parent,
|
||||
u32 *value)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct dentry *debugfs_create_size_t(const char *name, mode_t mode,
|
||||
static inline struct dentry *debugfs_create_size_t(const char *name, umode_t mode,
|
||||
struct dentry *parent,
|
||||
size_t *value)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct dentry *debugfs_create_bool(const char *name, mode_t mode,
|
||||
static inline struct dentry *debugfs_create_bool(const char *name, umode_t mode,
|
||||
struct dentry *parent,
|
||||
u32 *value)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct dentry *debugfs_create_blob(const char *name, mode_t mode,
|
||||
static inline struct dentry *debugfs_create_blob(const char *name, umode_t mode,
|
||||
struct dentry *parent,
|
||||
struct debugfs_blob_wrapper *blob)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -343,7 +343,7 @@ struct class {
|
|||
struct kobject *dev_kobj;
|
||||
|
||||
int (*dev_uevent)(struct device *dev, struct kobj_uevent_env *env);
|
||||
char *(*devnode)(struct device *dev, mode_t *mode);
|
||||
char *(*devnode)(struct device *dev, umode_t *mode);
|
||||
|
||||
void (*class_release)(struct class *class);
|
||||
void (*dev_release)(struct device *dev);
|
||||
|
|
@ -472,7 +472,7 @@ struct device_type {
|
|||
const char *name;
|
||||
const struct attribute_group **groups;
|
||||
int (*uevent)(struct device *dev, struct kobj_uevent_env *env);
|
||||
char *(*devnode)(struct device *dev, mode_t *mode);
|
||||
char *(*devnode)(struct device *dev, umode_t *mode);
|
||||
void (*release)(struct device *dev);
|
||||
|
||||
const struct dev_pm_ops *pm;
|
||||
|
|
@ -793,7 +793,7 @@ extern int device_rename(struct device *dev, const char *new_name);
|
|||
extern int device_move(struct device *dev, struct device *new_parent,
|
||||
enum dpm_order dpm_order);
|
||||
extern const char *device_get_devnode(struct device *dev,
|
||||
mode_t *mode, const char **tmp);
|
||||
umode_t *mode, const char **tmp);
|
||||
extern void *dev_get_drvdata(const struct device *dev);
|
||||
extern int dev_set_drvdata(struct device *dev, void *data);
|
||||
|
||||
|
|
|
|||
|
|
@ -884,7 +884,7 @@ extern int ext3fs_dirhash(const char *name, int len, struct
|
|||
|
||||
/* ialloc.c */
|
||||
extern struct inode * ext3_new_inode (handle_t *, struct inode *,
|
||||
const struct qstr *, int);
|
||||
const struct qstr *, umode_t);
|
||||
extern void ext3_free_inode (handle_t *, struct inode *);
|
||||
extern struct inode * ext3_orphan_get (struct super_block *, unsigned long);
|
||||
extern unsigned long ext3_count_free_inodes (struct super_block *);
|
||||
|
|
|
|||
|
|
@ -1428,6 +1428,7 @@ struct super_block {
|
|||
#else
|
||||
struct list_head s_files;
|
||||
#endif
|
||||
struct list_head s_mounts; /* list of mounts; _not_ for fs use */
|
||||
/* s_dentry_lru, s_nr_dentry_unused protected by dcache.c lru locks */
|
||||
struct list_head s_dentry_lru; /* unused dentry lru */
|
||||
int s_nr_dentry_unused; /* # of dentry on lru */
|
||||
|
|
@ -1440,7 +1441,7 @@ struct super_block {
|
|||
struct block_device *s_bdev;
|
||||
struct backing_dev_info *s_bdi;
|
||||
struct mtd_info *s_mtd;
|
||||
struct list_head s_instances;
|
||||
struct hlist_node s_instances;
|
||||
struct quota_info s_dquot; /* Diskquota specific options */
|
||||
|
||||
int s_frozen;
|
||||
|
|
@ -1481,6 +1482,12 @@ struct super_block {
|
|||
int cleancache_poolid;
|
||||
|
||||
struct shrinker s_shrink; /* per-sb shrinker handle */
|
||||
|
||||
/* Number of inodes with nlink == 0 but still referenced */
|
||||
atomic_long_t s_remove_count;
|
||||
|
||||
/* Being remounted read-only */
|
||||
int s_readonly_remount;
|
||||
};
|
||||
|
||||
/* superblock cache pruning functions */
|
||||
|
|
@ -1516,9 +1523,9 @@ extern void unlock_super(struct super_block *);
|
|||
/*
|
||||
* VFS helper functions..
|
||||
*/
|
||||
extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *);
|
||||
extern int vfs_mkdir(struct inode *, struct dentry *, int);
|
||||
extern int vfs_mknod(struct inode *, struct dentry *, int, dev_t);
|
||||
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 *, umode_t, dev_t);
|
||||
extern int vfs_symlink(struct inode *, struct dentry *, const char *);
|
||||
extern int vfs_link(struct dentry *, struct inode *, struct dentry *);
|
||||
extern int vfs_rmdir(struct inode *, struct dentry *);
|
||||
|
|
@ -1534,7 +1541,7 @@ extern void dentry_unhash(struct dentry *dentry);
|
|||
* VFS file helper functions.
|
||||
*/
|
||||
extern void inode_init_owner(struct inode *inode, const struct inode *dir,
|
||||
mode_t mode);
|
||||
umode_t mode);
|
||||
/*
|
||||
* VFS FS_IOC_FIEMAP helper definitions.
|
||||
*/
|
||||
|
|
@ -1619,13 +1626,13 @@ 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 *);
|
||||
int (*mkdir) (struct inode *,struct dentry *,int);
|
||||
int (*mkdir) (struct inode *,struct dentry *,umode_t);
|
||||
int (*rmdir) (struct inode *,struct dentry *);
|
||||
int (*mknod) (struct inode *,struct dentry *,int,dev_t);
|
||||
int (*mknod) (struct inode *,struct dentry *,umode_t,dev_t);
|
||||
int (*rename) (struct inode *, struct dentry *,
|
||||
struct inode *, struct dentry *);
|
||||
void (*truncate) (struct inode *);
|
||||
|
|
@ -1672,10 +1679,10 @@ struct super_operations {
|
|||
int (*remount_fs) (struct super_block *, int *, char *);
|
||||
void (*umount_begin) (struct super_block *);
|
||||
|
||||
int (*show_options)(struct seq_file *, struct vfsmount *);
|
||||
int (*show_devname)(struct seq_file *, struct vfsmount *);
|
||||
int (*show_path)(struct seq_file *, struct vfsmount *);
|
||||
int (*show_stats)(struct seq_file *, struct vfsmount *);
|
||||
int (*show_options)(struct seq_file *, struct dentry *);
|
||||
int (*show_devname)(struct seq_file *, struct dentry *);
|
||||
int (*show_path)(struct seq_file *, struct dentry *);
|
||||
int (*show_stats)(struct seq_file *, struct dentry *);
|
||||
#ifdef CONFIG_QUOTA
|
||||
ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t);
|
||||
ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t);
|
||||
|
|
@ -1764,31 +1771,10 @@ static inline void mark_inode_dirty_sync(struct inode *inode)
|
|||
__mark_inode_dirty(inode, I_DIRTY_SYNC);
|
||||
}
|
||||
|
||||
/**
|
||||
* set_nlink - directly set an inode's link count
|
||||
* @inode: inode
|
||||
* @nlink: new nlink (should be non-zero)
|
||||
*
|
||||
* This is a low-level filesystem helper to replace any
|
||||
* direct filesystem manipulation of i_nlink.
|
||||
*/
|
||||
static inline void set_nlink(struct inode *inode, unsigned int nlink)
|
||||
{
|
||||
inode->__i_nlink = nlink;
|
||||
}
|
||||
|
||||
/**
|
||||
* inc_nlink - directly increment an inode's link count
|
||||
* @inode: inode
|
||||
*
|
||||
* This is a low-level filesystem helper to replace any
|
||||
* direct filesystem manipulation of i_nlink. Currently,
|
||||
* it is only here for parity with dec_nlink().
|
||||
*/
|
||||
static inline void inc_nlink(struct inode *inode)
|
||||
{
|
||||
inode->__i_nlink++;
|
||||
}
|
||||
extern void inc_nlink(struct inode *inode);
|
||||
extern void drop_nlink(struct inode *inode);
|
||||
extern void clear_nlink(struct inode *inode);
|
||||
extern void set_nlink(struct inode *inode, unsigned int nlink);
|
||||
|
||||
static inline void inode_inc_link_count(struct inode *inode)
|
||||
{
|
||||
|
|
@ -1796,35 +1782,6 @@ static inline void inode_inc_link_count(struct inode *inode)
|
|||
mark_inode_dirty(inode);
|
||||
}
|
||||
|
||||
/**
|
||||
* drop_nlink - directly drop an inode's link count
|
||||
* @inode: inode
|
||||
*
|
||||
* This is a low-level filesystem helper to replace any
|
||||
* direct filesystem manipulation of i_nlink. In cases
|
||||
* where we are attempting to track writes to the
|
||||
* filesystem, a decrement to zero means an imminent
|
||||
* write when the file is truncated and actually unlinked
|
||||
* on the filesystem.
|
||||
*/
|
||||
static inline void drop_nlink(struct inode *inode)
|
||||
{
|
||||
inode->__i_nlink--;
|
||||
}
|
||||
|
||||
/**
|
||||
* clear_nlink - directly zero an inode's link count
|
||||
* @inode: inode
|
||||
*
|
||||
* This is a low-level filesystem helper to replace any
|
||||
* direct filesystem manipulation of i_nlink. See
|
||||
* drop_nlink() for why we care about i_nlink hitting zero.
|
||||
*/
|
||||
static inline void clear_nlink(struct inode *inode)
|
||||
{
|
||||
inode->__i_nlink = 0;
|
||||
}
|
||||
|
||||
static inline void inode_dec_link_count(struct inode *inode)
|
||||
{
|
||||
drop_nlink(inode);
|
||||
|
|
@ -1864,7 +1821,7 @@ struct file_system_type {
|
|||
void (*kill_sb) (struct super_block *);
|
||||
struct module *owner;
|
||||
struct file_system_type * next;
|
||||
struct list_head fs_supers;
|
||||
struct hlist_head fs_supers;
|
||||
|
||||
struct lock_class_key s_lock_key;
|
||||
struct lock_class_key s_umount_key;
|
||||
|
|
@ -1939,7 +1896,7 @@ extern int iterate_mounts(int (*)(struct vfsmount *, void *), void *,
|
|||
extern int vfs_statfs(struct path *, struct kstatfs *);
|
||||
extern int user_statfs(const char __user *, struct kstatfs *);
|
||||
extern int fd_statfs(int, struct kstatfs *);
|
||||
extern int statfs_by_dentry(struct dentry *, struct kstatfs *);
|
||||
extern int vfs_ustat(dev_t, struct kstatfs *);
|
||||
extern int freeze_super(struct super_block *super);
|
||||
extern int thaw_super(struct super_block *super);
|
||||
extern bool our_mnt(struct vfsmount *mnt);
|
||||
|
|
@ -2054,8 +2011,8 @@ extern int do_truncate(struct dentry *, loff_t start, unsigned int time_attrs,
|
|||
extern int do_fallocate(struct file *file, int mode, loff_t offset,
|
||||
loff_t len);
|
||||
extern long do_sys_open(int dfd, const char __user *filename, int flags,
|
||||
int mode);
|
||||
extern struct file *filp_open(const char *, int, int);
|
||||
umode_t mode);
|
||||
extern struct file *filp_open(const char *, int, umode_t);
|
||||
extern struct file *file_open_root(struct dentry *, struct vfsmount *,
|
||||
const char *, int);
|
||||
extern struct file * dentry_open(struct dentry *, struct vfsmount *, int,
|
||||
|
|
@ -2092,6 +2049,7 @@ extern void bd_forget(struct inode *inode);
|
|||
extern void bdput(struct block_device *);
|
||||
extern void invalidate_bdev(struct block_device *);
|
||||
extern int sync_blockdev(struct block_device *bdev);
|
||||
extern void kill_bdev(struct block_device *);
|
||||
extern struct super_block *freeze_bdev(struct block_device *);
|
||||
extern void emergency_thaw_all(void);
|
||||
extern int thaw_bdev(struct block_device *bdev, struct super_block *sb);
|
||||
|
|
@ -2099,6 +2057,7 @@ extern int fsync_bdev(struct block_device *);
|
|||
#else
|
||||
static inline void bd_forget(struct inode *inode) {}
|
||||
static inline int sync_blockdev(struct block_device *bdev) { return 0; }
|
||||
static inline void kill_bdev(struct block_device *bdev) {}
|
||||
static inline void invalidate_bdev(struct block_device *bdev) {}
|
||||
|
||||
static inline struct super_block *freeze_bdev(struct block_device *sb)
|
||||
|
|
@ -2191,8 +2150,6 @@ extern const struct file_operations read_pipefifo_fops;
|
|||
extern const struct file_operations write_pipefifo_fops;
|
||||
extern const struct file_operations rdwr_pipefifo_fops;
|
||||
|
||||
extern int fs_may_remount_ro(struct super_block *);
|
||||
|
||||
#ifdef CONFIG_BLOCK
|
||||
/*
|
||||
* return READ, READA, or WRITE
|
||||
|
|
@ -2415,6 +2372,7 @@ extern ssize_t blkdev_aio_write(struct kiocb *iocb, const struct iovec *iov,
|
|||
unsigned long nr_segs, loff_t pos);
|
||||
extern int blkdev_fsync(struct file *filp, loff_t start, loff_t end,
|
||||
int datasync);
|
||||
extern void block_sync_page(struct page *page);
|
||||
|
||||
/* fs/splice.c */
|
||||
extern ssize_t generic_file_splice_read(struct file *, loff_t *,
|
||||
|
|
@ -2531,7 +2489,6 @@ extern void put_filesystem(struct file_system_type *fs);
|
|||
extern struct file_system_type *get_fs_type(const char *name);
|
||||
extern struct super_block *get_super(struct block_device *);
|
||||
extern struct super_block *get_active_super(struct block_device *bdev);
|
||||
extern struct super_block *user_get_super(dev_t);
|
||||
extern void drop_super(struct super_block *sb);
|
||||
extern void iterate_supers(void (*)(struct super_block *, void *), void *);
|
||||
extern void iterate_supers_type(struct file_system_type *,
|
||||
|
|
@ -2590,7 +2547,7 @@ extern void setattr_copy(struct inode *inode, const struct iattr *attr);
|
|||
|
||||
extern void file_update_time(struct file *file);
|
||||
|
||||
extern int generic_show_options(struct seq_file *m, struct vfsmount *mnt);
|
||||
extern int generic_show_options(struct seq_file *m, struct dentry *root);
|
||||
extern void save_mount_options(struct super_block *sb, char *options);
|
||||
extern void replace_mount_options(struct super_block *sb, char *options);
|
||||
|
||||
|
|
@ -2691,7 +2648,7 @@ int __init get_filesystem_list(char *buf);
|
|||
#define OPEN_FMODE(flag) ((__force fmode_t)(((flag + 1) & O_ACCMODE) | \
|
||||
(flag & __FMODE_NONOTIFY)))
|
||||
|
||||
static inline int is_sxid(mode_t mode)
|
||||
static inline int is_sxid(umode_t mode)
|
||||
{
|
||||
return (mode & S_ISUID) || ((mode & S_ISGID) && (mode & S_IXGRP));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -163,7 +163,7 @@ struct gendisk {
|
|||
* disks that can't be partitioned. */
|
||||
|
||||
char disk_name[DISK_NAME_LEN]; /* name of major driver */
|
||||
char *(*devnode)(struct gendisk *gd, mode_t *mode);
|
||||
char *(*devnode)(struct gendisk *gd, umode_t *mode);
|
||||
|
||||
unsigned int events; /* supported events */
|
||||
unsigned int async_events; /* async events, subset of all */
|
||||
|
|
|
|||
|
|
@ -920,7 +920,7 @@ __IDE_PROC_DEVSET(_name, _min, _max, NULL, NULL)
|
|||
|
||||
typedef struct {
|
||||
const char *name;
|
||||
mode_t mode;
|
||||
umode_t mode;
|
||||
const struct file_operations *proc_fops;
|
||||
} ide_proc_entry_t;
|
||||
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ struct kern_ipc_perm
|
|||
gid_t gid;
|
||||
uid_t cuid;
|
||||
gid_t cgid;
|
||||
mode_t mode;
|
||||
umode_t mode;
|
||||
unsigned long seq;
|
||||
void *security;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ struct iscsi_boot_kobj {
|
|||
* The enum of the type. This can be any value of the above
|
||||
* properties.
|
||||
*/
|
||||
mode_t (*is_visible) (void *data, int type);
|
||||
umode_t (*is_visible) (void *data, int type);
|
||||
|
||||
/*
|
||||
* Driver specific release function.
|
||||
|
|
@ -110,20 +110,20 @@ struct iscsi_boot_kobj *
|
|||
iscsi_boot_create_initiator(struct iscsi_boot_kset *boot_kset, int index,
|
||||
void *data,
|
||||
ssize_t (*show) (void *data, int type, char *buf),
|
||||
mode_t (*is_visible) (void *data, int type),
|
||||
umode_t (*is_visible) (void *data, int type),
|
||||
void (*release) (void *data));
|
||||
|
||||
struct iscsi_boot_kobj *
|
||||
iscsi_boot_create_ethernet(struct iscsi_boot_kset *boot_kset, int index,
|
||||
void *data,
|
||||
ssize_t (*show) (void *data, int type, char *buf),
|
||||
mode_t (*is_visible) (void *data, int type),
|
||||
umode_t (*is_visible) (void *data, int type),
|
||||
void (*release) (void *data));
|
||||
struct iscsi_boot_kobj *
|
||||
iscsi_boot_create_target(struct iscsi_boot_kset *boot_kset, int index,
|
||||
void *data,
|
||||
ssize_t (*show) (void *data, int type, char *buf),
|
||||
mode_t (*is_visible) (void *data, int type),
|
||||
umode_t (*is_visible) (void *data, int type),
|
||||
void (*release) (void *data));
|
||||
|
||||
struct iscsi_boot_kset *iscsi_boot_create_kset(const char *set_name);
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ struct miscdevice {
|
|||
struct device *parent;
|
||||
struct device *this_device;
|
||||
const char *nodename;
|
||||
mode_t mode;
|
||||
umode_t mode;
|
||||
};
|
||||
|
||||
extern int misc_register(struct miscdevice * misc);
|
||||
|
|
|
|||
|
|
@ -2,39 +2,16 @@
|
|||
#define _NAMESPACE_H_
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#include <linux/path.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/wait.h>
|
||||
|
||||
struct mnt_namespace {
|
||||
atomic_t count;
|
||||
struct vfsmount * root;
|
||||
struct list_head list;
|
||||
wait_queue_head_t poll;
|
||||
int event;
|
||||
};
|
||||
|
||||
struct proc_mounts {
|
||||
struct seq_file m; /* must be the first element */
|
||||
struct mnt_namespace *ns;
|
||||
struct path root;
|
||||
};
|
||||
|
||||
struct mnt_namespace;
|
||||
struct fs_struct;
|
||||
|
||||
extern struct mnt_namespace *create_mnt_ns(struct vfsmount *mnt);
|
||||
extern struct mnt_namespace *copy_mnt_ns(unsigned long, struct mnt_namespace *,
|
||||
struct fs_struct *);
|
||||
extern void put_mnt_ns(struct mnt_namespace *ns);
|
||||
static inline void get_mnt_ns(struct mnt_namespace *ns)
|
||||
{
|
||||
atomic_inc(&ns->count);
|
||||
}
|
||||
|
||||
extern const struct seq_operations mounts_op;
|
||||
extern const struct seq_operations mountinfo_op;
|
||||
extern const struct seq_operations mountstats_op;
|
||||
extern int mnt_had_events(struct proc_mounts *);
|
||||
extern const struct file_operations proc_mounts_operations;
|
||||
extern const struct file_operations proc_mountinfo_operations;
|
||||
extern const struct file_operations proc_mountstats_operations;
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -47,45 +47,10 @@ struct mnt_namespace;
|
|||
|
||||
#define MNT_INTERNAL 0x4000
|
||||
|
||||
struct mnt_pcp {
|
||||
int mnt_count;
|
||||
int mnt_writers;
|
||||
};
|
||||
|
||||
struct vfsmount {
|
||||
struct list_head mnt_hash;
|
||||
struct vfsmount *mnt_parent; /* fs we are mounted on */
|
||||
struct dentry *mnt_mountpoint; /* dentry of mountpoint */
|
||||
struct dentry *mnt_root; /* root of the mounted tree */
|
||||
struct super_block *mnt_sb; /* pointer to superblock */
|
||||
#ifdef CONFIG_SMP
|
||||
struct mnt_pcp __percpu *mnt_pcp;
|
||||
atomic_t mnt_longterm; /* how many of the refs are longterm */
|
||||
#else
|
||||
int mnt_count;
|
||||
int mnt_writers;
|
||||
#endif
|
||||
struct list_head mnt_mounts; /* list of children, anchored here */
|
||||
struct list_head mnt_child; /* and going through their mnt_child */
|
||||
int mnt_flags;
|
||||
/* 4 bytes hole on 64bits arches without fsnotify */
|
||||
#ifdef CONFIG_FSNOTIFY
|
||||
__u32 mnt_fsnotify_mask;
|
||||
struct hlist_head mnt_fsnotify_marks;
|
||||
#endif
|
||||
const char *mnt_devname; /* Name of device e.g. /dev/dsk/hda1 */
|
||||
struct list_head mnt_list;
|
||||
struct list_head mnt_expire; /* link in fs-specific expiry list */
|
||||
struct list_head mnt_share; /* circular list of shared mounts */
|
||||
struct list_head mnt_slave_list;/* list of slave mounts */
|
||||
struct list_head mnt_slave; /* slave list entry */
|
||||
struct vfsmount *mnt_master; /* slave is on master->mnt_slave_list */
|
||||
struct mnt_namespace *mnt_ns; /* containing namespace */
|
||||
int mnt_id; /* mount identifier */
|
||||
int mnt_group_id; /* peer group identifier */
|
||||
int mnt_expiry_mark; /* true if marked for expiry */
|
||||
int mnt_pinned;
|
||||
int mnt_ghosts;
|
||||
};
|
||||
|
||||
struct file; /* forward dec */
|
||||
|
|
@ -94,15 +59,13 @@ extern int mnt_want_write(struct vfsmount *mnt);
|
|||
extern int mnt_want_write_file(struct file *file);
|
||||
extern int mnt_clone_write(struct vfsmount *mnt);
|
||||
extern void mnt_drop_write(struct vfsmount *mnt);
|
||||
extern void mnt_drop_write_file(struct file *file);
|
||||
extern void mntput(struct vfsmount *mnt);
|
||||
extern struct vfsmount *mntget(struct vfsmount *mnt);
|
||||
extern void mnt_pin(struct vfsmount *mnt);
|
||||
extern void mnt_unpin(struct vfsmount *mnt);
|
||||
extern int __mnt_is_readonly(struct vfsmount *mnt);
|
||||
|
||||
extern struct vfsmount *do_kern_mount(const char *fstype, int flags,
|
||||
const char *name, void *data);
|
||||
|
||||
struct file_system_type;
|
||||
extern struct vfsmount *vfs_kern_mount(struct file_system_type *type,
|
||||
int flags, const char *name,
|
||||
|
|
|
|||
|
|
@ -373,7 +373,7 @@ extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr);
|
|||
extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx);
|
||||
extern void put_nfs_open_context(struct nfs_open_context *ctx);
|
||||
extern struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_cred *cred, fmode_t mode);
|
||||
extern struct nfs_open_context *alloc_nfs_open_context(struct dentry *dentry, struct rpc_cred *cred, fmode_t f_mode);
|
||||
extern struct nfs_open_context *alloc_nfs_open_context(struct dentry *dentry, fmode_t f_mode);
|
||||
extern void nfs_file_set_open_context(struct file *filp, struct nfs_open_context *ctx);
|
||||
extern struct nfs_lock_context *nfs_get_lock_context(struct nfs_open_context *ctx);
|
||||
extern void nfs_put_lock_context(struct nfs_lock_context *l_ctx);
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ typedef int (write_proc_t)(struct file *file, const char __user *buffer,
|
|||
|
||||
struct proc_dir_entry {
|
||||
unsigned int low_ino;
|
||||
mode_t mode;
|
||||
umode_t mode;
|
||||
nlink_t nlink;
|
||||
uid_t uid;
|
||||
gid_t gid;
|
||||
|
|
@ -106,9 +106,9 @@ extern void proc_root_init(void);
|
|||
|
||||
void proc_flush_task(struct task_struct *task);
|
||||
|
||||
extern struct proc_dir_entry *create_proc_entry(const char *name, mode_t mode,
|
||||
extern struct proc_dir_entry *create_proc_entry(const char *name, umode_t mode,
|
||||
struct proc_dir_entry *parent);
|
||||
struct proc_dir_entry *proc_create_data(const char *name, mode_t mode,
|
||||
struct proc_dir_entry *proc_create_data(const char *name, umode_t mode,
|
||||
struct proc_dir_entry *parent,
|
||||
const struct file_operations *proc_fops,
|
||||
void *data);
|
||||
|
|
@ -146,17 +146,17 @@ extern void proc_device_tree_update_prop(struct proc_dir_entry *pde,
|
|||
extern struct proc_dir_entry *proc_symlink(const char *,
|
||||
struct proc_dir_entry *, const char *);
|
||||
extern struct proc_dir_entry *proc_mkdir(const char *,struct proc_dir_entry *);
|
||||
extern struct proc_dir_entry *proc_mkdir_mode(const char *name, mode_t mode,
|
||||
extern struct proc_dir_entry *proc_mkdir_mode(const char *name, umode_t mode,
|
||||
struct proc_dir_entry *parent);
|
||||
|
||||
static inline struct proc_dir_entry *proc_create(const char *name, mode_t mode,
|
||||
static inline struct proc_dir_entry *proc_create(const char *name, umode_t mode,
|
||||
struct proc_dir_entry *parent, const struct file_operations *proc_fops)
|
||||
{
|
||||
return proc_create_data(name, mode, parent, proc_fops, NULL);
|
||||
}
|
||||
|
||||
static inline struct proc_dir_entry *create_proc_read_entry(const char *name,
|
||||
mode_t mode, struct proc_dir_entry *base,
|
||||
umode_t mode, struct proc_dir_entry *base,
|
||||
read_proc_t *read_proc, void * data)
|
||||
{
|
||||
struct proc_dir_entry *res=create_proc_entry(name,mode,base);
|
||||
|
|
@ -168,7 +168,7 @@ static inline struct proc_dir_entry *create_proc_read_entry(const char *name,
|
|||
}
|
||||
|
||||
extern struct proc_dir_entry *proc_net_fops_create(struct net *net,
|
||||
const char *name, mode_t mode, const struct file_operations *fops);
|
||||
const char *name, umode_t mode, const struct file_operations *fops);
|
||||
extern void proc_net_remove(struct net *net, const char *name);
|
||||
extern struct proc_dir_entry *proc_net_mkdir(struct net *net, const char *name,
|
||||
struct proc_dir_entry *parent);
|
||||
|
|
@ -185,15 +185,15 @@ static inline void proc_flush_task(struct task_struct *task)
|
|||
}
|
||||
|
||||
static inline struct proc_dir_entry *create_proc_entry(const char *name,
|
||||
mode_t mode, struct proc_dir_entry *parent) { return NULL; }
|
||||
umode_t mode, struct proc_dir_entry *parent) { return NULL; }
|
||||
static inline struct proc_dir_entry *proc_create(const char *name,
|
||||
mode_t mode, struct proc_dir_entry *parent,
|
||||
umode_t mode, struct proc_dir_entry *parent,
|
||||
const struct file_operations *proc_fops)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
static inline struct proc_dir_entry *proc_create_data(const char *name,
|
||||
mode_t mode, struct proc_dir_entry *parent,
|
||||
umode_t mode, struct proc_dir_entry *parent,
|
||||
const struct file_operations *proc_fops, void *data)
|
||||
{
|
||||
return NULL;
|
||||
|
|
@ -205,10 +205,10 @@ static inline struct proc_dir_entry *proc_symlink(const char *name,
|
|||
static inline struct proc_dir_entry *proc_mkdir(const char *name,
|
||||
struct proc_dir_entry *parent) {return NULL;}
|
||||
static inline struct proc_dir_entry *proc_mkdir_mode(const char *name,
|
||||
mode_t mode, struct proc_dir_entry *parent) { return NULL; }
|
||||
umode_t mode, struct proc_dir_entry *parent) { return NULL; }
|
||||
|
||||
static inline struct proc_dir_entry *create_proc_read_entry(const char *name,
|
||||
mode_t mode, struct proc_dir_entry *base,
|
||||
umode_t mode, struct proc_dir_entry *base,
|
||||
read_proc_t *read_proc, void * data) { return NULL; }
|
||||
|
||||
struct tty_driver;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
#define _LINUX_RAMFS_H
|
||||
|
||||
struct inode *ramfs_get_inode(struct super_block *sb, const struct inode *dir,
|
||||
int mode, dev_t dev);
|
||||
umode_t mode, dev_t dev);
|
||||
extern struct dentry *ramfs_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data);
|
||||
|
||||
|
|
|
|||
|
|
@ -1759,13 +1759,14 @@ struct reiserfs_journal_header {
|
|||
REISERFS_QUOTA_TRANS_BLOCKS(sb)))
|
||||
|
||||
#ifdef CONFIG_QUOTA
|
||||
#define REISERFS_QUOTA_OPTS ((1 << REISERFS_USRQUOTA) | (1 << REISERFS_GRPQUOTA))
|
||||
/* We need to update data and inode (atime) */
|
||||
#define REISERFS_QUOTA_TRANS_BLOCKS(s) (REISERFS_SB(s)->s_mount_opt & (1<<REISERFS_QUOTA) ? 2 : 0)
|
||||
#define REISERFS_QUOTA_TRANS_BLOCKS(s) (REISERFS_SB(s)->s_mount_opt & REISERFS_QUOTA_OPTS ? 2 : 0)
|
||||
/* 1 balancing, 1 bitmap, 1 data per write + stat data update */
|
||||
#define REISERFS_QUOTA_INIT_BLOCKS(s) (REISERFS_SB(s)->s_mount_opt & (1<<REISERFS_QUOTA) ? \
|
||||
#define REISERFS_QUOTA_INIT_BLOCKS(s) (REISERFS_SB(s)->s_mount_opt & REISERFS_QUOTA_OPTS ? \
|
||||
(DQUOT_INIT_ALLOC*(JOURNAL_PER_BALANCE_CNT+2)+DQUOT_INIT_REWRITE+1) : 0)
|
||||
/* same as with INIT */
|
||||
#define REISERFS_QUOTA_DEL_BLOCKS(s) (REISERFS_SB(s)->s_mount_opt & (1<<REISERFS_QUOTA) ? \
|
||||
#define REISERFS_QUOTA_DEL_BLOCKS(s) (REISERFS_SB(s)->s_mount_opt & REISERFS_QUOTA_OPTS ? \
|
||||
(DQUOT_DEL_ALLOC*(JOURNAL_PER_BALANCE_CNT+2)+DQUOT_DEL_REWRITE+1) : 0)
|
||||
#else
|
||||
#define REISERFS_QUOTA_TRANS_BLOCKS(s) 0
|
||||
|
|
@ -2056,7 +2057,7 @@ struct inode *reiserfs_iget(struct super_block *s, const struct cpu_key *key);
|
|||
|
||||
struct reiserfs_security_handle;
|
||||
int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
|
||||
struct inode *dir, int mode,
|
||||
struct inode *dir, umode_t mode,
|
||||
const char *symname, loff_t i_size,
|
||||
struct dentry *dentry, struct inode *inode,
|
||||
struct reiserfs_security_handle *security);
|
||||
|
|
|
|||
|
|
@ -417,6 +417,7 @@ struct reiserfs_sb_info {
|
|||
char *s_qf_names[MAXQUOTAS];
|
||||
int s_jquota_fmt;
|
||||
#endif
|
||||
char *s_jdev; /* Stored jdev for mount option showing */
|
||||
#ifdef CONFIG_REISERFS_CHECK
|
||||
|
||||
struct tree_balance *cur_tb; /*
|
||||
|
|
@ -482,7 +483,8 @@ enum reiserfs_mount_options {
|
|||
REISERFS_ERROR_RO,
|
||||
REISERFS_ERROR_CONTINUE,
|
||||
|
||||
REISERFS_QUOTA, /* Some quota option specified */
|
||||
REISERFS_USRQUOTA, /* User quota option specified */
|
||||
REISERFS_GRPQUOTA, /* Group quota option specified */
|
||||
|
||||
REISERFS_TEST1,
|
||||
REISERFS_TEST2,
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ struct rchan_callbacks
|
|||
*/
|
||||
struct dentry *(*create_buf_file)(const char *filename,
|
||||
struct dentry *parent,
|
||||
int mode,
|
||||
umode_t mode,
|
||||
struct rchan_buf *buf,
|
||||
int *is_global);
|
||||
|
||||
|
|
|
|||
|
|
@ -1424,9 +1424,9 @@ struct security_operations {
|
|||
|
||||
#ifdef CONFIG_SECURITY_PATH
|
||||
int (*path_unlink) (struct path *dir, struct dentry *dentry);
|
||||
int (*path_mkdir) (struct path *dir, struct dentry *dentry, int mode);
|
||||
int (*path_mkdir) (struct path *dir, struct dentry *dentry, umode_t mode);
|
||||
int (*path_rmdir) (struct path *dir, struct dentry *dentry);
|
||||
int (*path_mknod) (struct path *dir, struct dentry *dentry, int mode,
|
||||
int (*path_mknod) (struct path *dir, struct dentry *dentry, umode_t mode,
|
||||
unsigned int dev);
|
||||
int (*path_truncate) (struct path *path);
|
||||
int (*path_symlink) (struct path *dir, struct dentry *dentry,
|
||||
|
|
@ -1435,8 +1435,7 @@ struct security_operations {
|
|||
struct dentry *new_dentry);
|
||||
int (*path_rename) (struct path *old_dir, struct dentry *old_dentry,
|
||||
struct path *new_dir, struct dentry *new_dentry);
|
||||
int (*path_chmod) (struct dentry *dentry, struct vfsmount *mnt,
|
||||
mode_t mode);
|
||||
int (*path_chmod) (struct path *path, umode_t mode);
|
||||
int (*path_chown) (struct path *path, uid_t uid, gid_t gid);
|
||||
int (*path_chroot) (struct path *path);
|
||||
#endif
|
||||
|
|
@ -1447,16 +1446,16 @@ 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);
|
||||
int (*inode_symlink) (struct inode *dir,
|
||||
struct dentry *dentry, const char *old_name);
|
||||
int (*inode_mkdir) (struct inode *dir, struct dentry *dentry, int mode);
|
||||
int (*inode_mkdir) (struct inode *dir, struct dentry *dentry, umode_t mode);
|
||||
int (*inode_rmdir) (struct inode *dir, struct dentry *dentry);
|
||||
int (*inode_mknod) (struct inode *dir, struct dentry *dentry,
|
||||
int mode, dev_t dev);
|
||||
umode_t mode, dev_t dev);
|
||||
int (*inode_rename) (struct inode *old_dir, struct dentry *old_dentry,
|
||||
struct inode *new_dir, struct dentry *new_dentry);
|
||||
int (*inode_readlink) (struct dentry *dentry);
|
||||
|
|
@ -1716,15 +1715,15 @@ 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);
|
||||
int security_inode_symlink(struct inode *dir, struct dentry *dentry,
|
||||
const char *old_name);
|
||||
int security_inode_mkdir(struct inode *dir, struct dentry *dentry, int mode);
|
||||
int security_inode_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode);
|
||||
int security_inode_rmdir(struct inode *dir, struct dentry *dentry);
|
||||
int security_inode_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t dev);
|
||||
int security_inode_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t dev);
|
||||
int security_inode_rename(struct inode *old_dir, struct dentry *old_dentry,
|
||||
struct inode *new_dir, struct dentry *new_dentry);
|
||||
int security_inode_readlink(struct dentry *dentry);
|
||||
|
|
@ -2061,7 +2060,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;
|
||||
}
|
||||
|
|
@ -2855,9 +2854,9 @@ static inline void security_skb_classify_flow(struct sk_buff *skb, struct flowi
|
|||
|
||||
#ifdef CONFIG_SECURITY_PATH
|
||||
int security_path_unlink(struct path *dir, struct dentry *dentry);
|
||||
int security_path_mkdir(struct path *dir, struct dentry *dentry, int mode);
|
||||
int security_path_mkdir(struct path *dir, struct dentry *dentry, umode_t mode);
|
||||
int security_path_rmdir(struct path *dir, struct dentry *dentry);
|
||||
int security_path_mknod(struct path *dir, struct dentry *dentry, int mode,
|
||||
int security_path_mknod(struct path *dir, struct dentry *dentry, umode_t mode,
|
||||
unsigned int dev);
|
||||
int security_path_truncate(struct path *path);
|
||||
int security_path_symlink(struct path *dir, struct dentry *dentry,
|
||||
|
|
@ -2866,8 +2865,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir,
|
|||
struct dentry *new_dentry);
|
||||
int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
|
||||
struct path *new_dir, struct dentry *new_dentry);
|
||||
int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt,
|
||||
mode_t mode);
|
||||
int security_path_chmod(struct path *path, umode_t mode);
|
||||
int security_path_chown(struct path *path, uid_t uid, gid_t gid);
|
||||
int security_path_chroot(struct path *path);
|
||||
#else /* CONFIG_SECURITY_PATH */
|
||||
|
|
@ -2877,7 +2875,7 @@ static inline int security_path_unlink(struct path *dir, struct dentry *dentry)
|
|||
}
|
||||
|
||||
static inline int security_path_mkdir(struct path *dir, struct dentry *dentry,
|
||||
int mode)
|
||||
umode_t mode)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -2888,7 +2886,7 @@ static inline int security_path_rmdir(struct path *dir, struct dentry *dentry)
|
|||
}
|
||||
|
||||
static inline int security_path_mknod(struct path *dir, struct dentry *dentry,
|
||||
int mode, unsigned int dev)
|
||||
umode_t mode, unsigned int dev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -2919,9 +2917,7 @@ static inline int security_path_rename(struct path *old_dir,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static inline int security_path_chmod(struct dentry *dentry,
|
||||
struct vfsmount *mnt,
|
||||
mode_t mode)
|
||||
static inline int security_path_chmod(struct path *path, umode_t mode)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -3010,7 +3006,7 @@ static inline void security_audit_rule_free(void *lsmrule)
|
|||
|
||||
#ifdef CONFIG_SECURITYFS
|
||||
|
||||
extern struct dentry *securityfs_create_file(const char *name, mode_t mode,
|
||||
extern struct dentry *securityfs_create_file(const char *name, umode_t mode,
|
||||
struct dentry *parent, void *data,
|
||||
const struct file_operations *fops);
|
||||
extern struct dentry *securityfs_create_dir(const char *name, struct dentry *parent);
|
||||
|
|
@ -3025,7 +3021,7 @@ static inline struct dentry *securityfs_create_dir(const char *name,
|
|||
}
|
||||
|
||||
static inline struct dentry *securityfs_create_file(const char *name,
|
||||
mode_t mode,
|
||||
umode_t mode,
|
||||
struct dentry *parent,
|
||||
void *data,
|
||||
const struct file_operations *fops)
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ static inline void seq_commit(struct seq_file *m, int num)
|
|||
}
|
||||
}
|
||||
|
||||
char *mangle_path(char *s, char *p, char *esc);
|
||||
char *mangle_path(char *s, const char *p, const char *esc);
|
||||
int seq_open(struct file *, const struct seq_operations *);
|
||||
ssize_t seq_read(struct file *, char __user *, size_t, loff_t *);
|
||||
loff_t seq_lseek(struct file *, loff_t, int);
|
||||
|
|
@ -86,10 +86,10 @@ int seq_write(struct seq_file *seq, const void *data, size_t len);
|
|||
|
||||
__printf(2, 3) int seq_printf(struct seq_file *, const char *, ...);
|
||||
|
||||
int seq_path(struct seq_file *, struct path *, char *);
|
||||
int seq_dentry(struct seq_file *, struct dentry *, char *);
|
||||
int seq_path_root(struct seq_file *m, struct path *path, struct path *root,
|
||||
char *esc);
|
||||
int seq_path(struct seq_file *, const struct path *, const char *);
|
||||
int seq_dentry(struct seq_file *, struct dentry *, const char *);
|
||||
int seq_path_root(struct seq_file *m, const struct path *path,
|
||||
const struct path *root, const char *esc);
|
||||
int seq_bitmap(struct seq_file *m, const unsigned long *bits,
|
||||
unsigned int nr_bits);
|
||||
static inline int seq_cpumask(struct seq_file *m, const struct cpumask *mask)
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ struct shmem_sb_info {
|
|||
spinlock_t stat_lock; /* Serialize shmem_sb_info changes */
|
||||
uid_t uid; /* Mount uid for root directory */
|
||||
gid_t gid; /* Mount gid for root directory */
|
||||
mode_t mode; /* Mount mode for root directory */
|
||||
umode_t mode; /* Mount mode for root directory */
|
||||
struct mempolicy *mpol; /* default memory policy for mappings */
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ extern void cache_unregister(struct cache_detail *cd);
|
|||
extern void cache_unregister_net(struct cache_detail *cd, struct net *net);
|
||||
|
||||
extern int sunrpc_cache_register_pipefs(struct dentry *parent, const char *,
|
||||
mode_t, struct cache_detail *);
|
||||
umode_t, struct cache_detail *);
|
||||
extern void sunrpc_cache_unregister_pipefs(struct cache_detail *);
|
||||
|
||||
extern void qword_add(char **bpp, int *lp, char *str);
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ extern int rpc_remove_client_dir(struct dentry *);
|
|||
struct cache_detail;
|
||||
extern struct dentry *rpc_create_cache_dir(struct dentry *,
|
||||
struct qstr *,
|
||||
mode_t umode,
|
||||
umode_t umode,
|
||||
struct cache_detail *);
|
||||
extern void rpc_remove_cache_dir(struct dentry *);
|
||||
|
||||
|
|
|
|||
|
|
@ -475,7 +475,7 @@ asmlinkage long sys_mincore(unsigned long start, size_t len,
|
|||
asmlinkage long sys_pivot_root(const char __user *new_root,
|
||||
const char __user *put_old);
|
||||
asmlinkage long sys_chroot(const char __user *filename);
|
||||
asmlinkage long sys_mknod(const char __user *filename, int mode,
|
||||
asmlinkage long sys_mknod(const char __user *filename, umode_t mode,
|
||||
unsigned dev);
|
||||
asmlinkage long sys_link(const char __user *oldname,
|
||||
const char __user *newname);
|
||||
|
|
@ -483,8 +483,8 @@ asmlinkage long sys_symlink(const char __user *old, const char __user *new);
|
|||
asmlinkage long sys_unlink(const char __user *pathname);
|
||||
asmlinkage long sys_rename(const char __user *oldname,
|
||||
const char __user *newname);
|
||||
asmlinkage long sys_chmod(const char __user *filename, mode_t mode);
|
||||
asmlinkage long sys_fchmod(unsigned int fd, mode_t mode);
|
||||
asmlinkage long sys_chmod(const char __user *filename, umode_t mode);
|
||||
asmlinkage long sys_fchmod(unsigned int fd, umode_t mode);
|
||||
|
||||
asmlinkage long sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg);
|
||||
#if BITS_PER_LONG == 32
|
||||
|
|
@ -517,9 +517,9 @@ asmlinkage long sys_sendfile64(int out_fd, int in_fd,
|
|||
loff_t __user *offset, size_t count);
|
||||
asmlinkage long sys_readlink(const char __user *path,
|
||||
char __user *buf, int bufsiz);
|
||||
asmlinkage long sys_creat(const char __user *pathname, int mode);
|
||||
asmlinkage long sys_creat(const char __user *pathname, umode_t mode);
|
||||
asmlinkage long sys_open(const char __user *filename,
|
||||
int flags, int mode);
|
||||
int flags, umode_t mode);
|
||||
asmlinkage long sys_close(unsigned int fd);
|
||||
asmlinkage long sys_access(const char __user *filename, int mode);
|
||||
asmlinkage long sys_vhangup(void);
|
||||
|
|
@ -582,7 +582,7 @@ asmlinkage long sys_preadv(unsigned long fd, const struct iovec __user *vec,
|
|||
asmlinkage long sys_pwritev(unsigned long fd, const struct iovec __user *vec,
|
||||
unsigned long vlen, unsigned long pos_l, unsigned long pos_h);
|
||||
asmlinkage long sys_getcwd(char __user *buf, unsigned long size);
|
||||
asmlinkage long sys_mkdir(const char __user *pathname, int mode);
|
||||
asmlinkage long sys_mkdir(const char __user *pathname, umode_t mode);
|
||||
asmlinkage long sys_chdir(const char __user *filename);
|
||||
asmlinkage long sys_fchdir(unsigned int fd);
|
||||
asmlinkage long sys_rmdir(const char __user *pathname);
|
||||
|
|
@ -679,7 +679,7 @@ asmlinkage long sys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf);
|
|||
asmlinkage long sys_ipc(unsigned int call, int first, unsigned long second,
|
||||
unsigned long third, void __user *ptr, long fifth);
|
||||
|
||||
asmlinkage long sys_mq_open(const char __user *name, int oflag, mode_t mode, struct mq_attr __user *attr);
|
||||
asmlinkage long sys_mq_open(const char __user *name, int oflag, umode_t mode, struct mq_attr __user *attr);
|
||||
asmlinkage long sys_mq_unlink(const char __user *name);
|
||||
asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec __user *abs_timeout);
|
||||
asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *msg_ptr, size_t msg_len, unsigned int __user *msg_prio, const struct timespec __user *abs_timeout);
|
||||
|
|
@ -753,11 +753,11 @@ asmlinkage long sys_inotify_rm_watch(int fd, __s32 wd);
|
|||
asmlinkage long sys_spu_run(int fd, __u32 __user *unpc,
|
||||
__u32 __user *ustatus);
|
||||
asmlinkage long sys_spu_create(const char __user *name,
|
||||
unsigned int flags, mode_t mode, int fd);
|
||||
unsigned int flags, umode_t mode, int fd);
|
||||
|
||||
asmlinkage long sys_mknodat(int dfd, const char __user * filename, int mode,
|
||||
asmlinkage long sys_mknodat(int dfd, const char __user * filename, umode_t mode,
|
||||
unsigned dev);
|
||||
asmlinkage long sys_mkdirat(int dfd, const char __user * pathname, int mode);
|
||||
asmlinkage long sys_mkdirat(int dfd, const char __user * pathname, umode_t mode);
|
||||
asmlinkage long sys_unlinkat(int dfd, const char __user * pathname, int flag);
|
||||
asmlinkage long sys_symlinkat(const char __user * oldname,
|
||||
int newdfd, const char __user * newname);
|
||||
|
|
@ -769,11 +769,11 @@ asmlinkage long sys_futimesat(int dfd, const char __user *filename,
|
|||
struct timeval __user *utimes);
|
||||
asmlinkage long sys_faccessat(int dfd, const char __user *filename, int mode);
|
||||
asmlinkage long sys_fchmodat(int dfd, const char __user * filename,
|
||||
mode_t mode);
|
||||
umode_t mode);
|
||||
asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user,
|
||||
gid_t group, int flag);
|
||||
asmlinkage long sys_openat(int dfd, const char __user *filename, int flags,
|
||||
int mode);
|
||||
umode_t mode);
|
||||
asmlinkage long sys_newfstatat(int dfd, const char __user *filename,
|
||||
struct stat __user *statbuf, int flag);
|
||||
asmlinkage long sys_fstatat64(int dfd, const char __user *filename,
|
||||
|
|
|
|||
|
|
@ -1038,7 +1038,7 @@ struct ctl_table
|
|||
const char *procname; /* Text ID for /proc/sys, or zero */
|
||||
void *data;
|
||||
int maxlen;
|
||||
mode_t mode;
|
||||
umode_t mode;
|
||||
struct ctl_table *child;
|
||||
struct ctl_table *parent; /* Automatically set */
|
||||
proc_handler *proc_handler; /* Callback for text formatting */
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ enum kobj_ns_type;
|
|||
|
||||
struct attribute {
|
||||
const char *name;
|
||||
mode_t mode;
|
||||
umode_t mode;
|
||||
#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
||||
struct lock_class_key *key;
|
||||
struct lock_class_key skey;
|
||||
|
|
@ -55,7 +55,7 @@ do { \
|
|||
|
||||
struct attribute_group {
|
||||
const char *name;
|
||||
mode_t (*is_visible)(struct kobject *,
|
||||
umode_t (*is_visible)(struct kobject *,
|
||||
struct attribute *, int);
|
||||
struct attribute **attrs;
|
||||
};
|
||||
|
|
@ -133,7 +133,7 @@ int __must_check sysfs_create_file(struct kobject *kobj,
|
|||
int __must_check sysfs_create_files(struct kobject *kobj,
|
||||
const struct attribute **attr);
|
||||
int __must_check sysfs_chmod_file(struct kobject *kobj,
|
||||
const struct attribute *attr, mode_t mode);
|
||||
const struct attribute *attr, umode_t mode);
|
||||
void sysfs_remove_file(struct kobject *kobj, const struct attribute *attr);
|
||||
void sysfs_remove_files(struct kobject *kobj, const struct attribute **attr);
|
||||
|
||||
|
|
@ -221,7 +221,7 @@ static inline int sysfs_create_files(struct kobject *kobj,
|
|||
}
|
||||
|
||||
static inline int sysfs_chmod_file(struct kobject *kobj,
|
||||
const struct attribute *attr, mode_t mode)
|
||||
const struct attribute *attr, umode_t mode)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ typedef __kernel_fd_set fd_set;
|
|||
typedef __kernel_dev_t dev_t;
|
||||
typedef __kernel_ino_t ino_t;
|
||||
typedef __kernel_mode_t mode_t;
|
||||
typedef unsigned short umode_t;
|
||||
typedef __kernel_nlink_t nlink_t;
|
||||
typedef __kernel_off_t off_t;
|
||||
typedef __kernel_pid_t pid_t;
|
||||
|
|
|
|||
|
|
@ -935,7 +935,7 @@ extern struct bus_type usb_bus_type;
|
|||
*/
|
||||
struct usb_class_driver {
|
||||
char *name;
|
||||
char *(*devnode)(struct device *dev, mode_t *mode);
|
||||
char *(*devnode)(struct device *dev, umode_t *mode);
|
||||
const struct file_operations *fops;
|
||||
int minor_base;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue