Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
 static inline int fat_mode_can_hold_ro(struct inode *inode)
 {
        struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb);
-       mode_t mask;
+       umode_t mask;
 
        if (S_ISDIR(inode->i_mode)) {
                if (!sbi->options.rodir)
 }
 
 /* Convert attribute bits and a mask to the UNIX mode. */
-static inline mode_t fat_make_mode(struct msdos_sb_info *sbi,
-                                  u8 attrs, mode_t mode)
+static inline umode_t fat_make_mode(struct msdos_sb_info *sbi,
+                                  u8 attrs, umode_t mode)
 {
        if (attrs & ATTR_RO && !((attrs & ATTR_DIR) && !sbi->options.rodir))
                mode &= ~S_IWUGO;
 
 static int fat_sanitize_mode(const struct msdos_sb_info *sbi,
                             struct inode *inode, umode_t *mode_ptr)
 {
-       mode_t mask, perm;
+       umode_t mask, perm;
 
        /*
         * Note, the basic check is already done by a caller of
 
 static int fat_allow_set_time(struct msdos_sb_info *sbi, struct inode *inode)
 {
-       mode_t allow_utime = sbi->options.allow_utime;
+       umode_t allow_utime = sbi->options.allow_utime;
 
        if (current_fsuid() != inode->i_uid) {
                if (in_group_p(inode->i_gid))