提交 09208d15 编写于 作者: A Al Viro

shmem, ramfs: propagate umode_t, open-coded S_ISREG

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 88176446
...@@ -30,7 +30,7 @@ struct shmem_sb_info { ...@@ -30,7 +30,7 @@ struct shmem_sb_info {
spinlock_t stat_lock; /* Serialize shmem_sb_info changes */ spinlock_t stat_lock; /* Serialize shmem_sb_info changes */
uid_t uid; /* Mount uid for root directory */ uid_t uid; /* Mount uid for root directory */
gid_t gid; /* Mount gid 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 */ struct mempolicy *mpol; /* default memory policy for mappings */
}; };
......
...@@ -1092,7 +1092,7 @@ static int shmem_mmap(struct file *file, struct vm_area_struct *vma) ...@@ -1092,7 +1092,7 @@ static int shmem_mmap(struct file *file, struct vm_area_struct *vma)
} }
static struct inode *shmem_get_inode(struct super_block *sb, const struct inode *dir, static struct inode *shmem_get_inode(struct super_block *sb, const struct inode *dir,
int mode, dev_t dev, unsigned long flags) umode_t mode, dev_t dev, unsigned long flags)
{ {
struct inode *inode; struct inode *inode;
struct shmem_inode_info *info; struct shmem_inode_info *info;
...@@ -2128,7 +2128,7 @@ static int shmem_show_options(struct seq_file *seq, struct vfsmount *vfs) ...@@ -2128,7 +2128,7 @@ static int shmem_show_options(struct seq_file *seq, struct vfsmount *vfs)
if (sbinfo->max_inodes != shmem_default_max_inodes()) if (sbinfo->max_inodes != shmem_default_max_inodes())
seq_printf(seq, ",nr_inodes=%lu", sbinfo->max_inodes); seq_printf(seq, ",nr_inodes=%lu", sbinfo->max_inodes);
if (sbinfo->mode != (S_IRWXUGO | S_ISVTX)) if (sbinfo->mode != (S_IRWXUGO | S_ISVTX))
seq_printf(seq, ",mode=%03o", sbinfo->mode); seq_printf(seq, ",mode=%03ho", sbinfo->mode);
if (sbinfo->uid != 0) if (sbinfo->uid != 0)
seq_printf(seq, ",uid=%u", sbinfo->uid); seq_printf(seq, ",uid=%u", sbinfo->uid);
if (sbinfo->gid != 0) if (sbinfo->gid != 0)
...@@ -2239,7 +2239,7 @@ static void shmem_destroy_callback(struct rcu_head *head) ...@@ -2239,7 +2239,7 @@ static void shmem_destroy_callback(struct rcu_head *head)
static void shmem_destroy_inode(struct inode *inode) static void shmem_destroy_inode(struct inode *inode)
{ {
if ((inode->i_mode & S_IFMT) == S_IFREG) if (S_ISREG(inode->i_mode))
mpol_free_shared_policy(&SHMEM_I(inode)->policy); mpol_free_shared_policy(&SHMEM_I(inode)->policy);
call_rcu(&inode->i_rcu, shmem_destroy_callback); call_rcu(&inode->i_rcu, shmem_destroy_callback);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册