shmem, ramfs: propagate umode_t, open-coded S_ISREG
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 26 Jul 2011 07:15:03 +0000 (03:15 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 4 Jan 2012 03:55:07 +0000 (22:55 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
include/linux/shmem_fs.h
mm/shmem.c

index 9291ac3cc6276829900546ec0703809893d33f77..e4c711c6f3213c962e90cb25d528cd40861dbf4e 100644 (file)
@@ -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 */
 };
 
index 4000f370948c2f6c44acb2dc5442cdd2bd10c73c..86a19efc36fb12ad9a67ed9a9a40fc58769baa5e 100644 (file)
@@ -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,
-                                    int mode, dev_t dev, unsigned long flags)
+                                    umode_t mode, dev_t dev, unsigned long flags)
 {
        struct inode *inode;
        struct shmem_inode_info *info;
@@ -2128,7 +2128,7 @@ static int shmem_show_options(struct seq_file *seq, struct vfsmount *vfs)
        if (sbinfo->max_inodes != shmem_default_max_inodes())
                seq_printf(seq, ",nr_inodes=%lu", sbinfo->max_inodes);
        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)
                seq_printf(seq, ",uid=%u", sbinfo->uid);
        if (sbinfo->gid != 0)
@@ -2239,7 +2239,7 @@ static void shmem_destroy_callback(struct rcu_head *head)
 
 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);
        call_rcu(&inode->i_rcu, shmem_destroy_callback);
 }