]> Pileus Git - ~andy/linux/blobdiff - fs/squashfs/inode.c
Merge tag 'master-2012-10-08' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil...
[~andy/linux] / fs / squashfs / inode.c
index 81afbccfa8432ba49a644a16c2c0a0526da31ea5..a1ce5ce60632e892fc0f17859e99963eb1a67235 100644 (file)
 static int squashfs_new_inode(struct super_block *sb, struct inode *inode,
                                struct squashfs_base_inode *sqsh_ino)
 {
+       uid_t i_uid;
+       gid_t i_gid;
        int err;
 
-       err = squashfs_get_id(sb, le16_to_cpu(sqsh_ino->uid), &inode->i_uid);
+       err = squashfs_get_id(sb, le16_to_cpu(sqsh_ino->uid), &i_uid);
        if (err)
                return err;
 
-       err = squashfs_get_id(sb, le16_to_cpu(sqsh_ino->guid), &inode->i_gid);
+       err = squashfs_get_id(sb, le16_to_cpu(sqsh_ino->guid), &i_gid);
        if (err)
                return err;
 
+       i_uid_write(inode, i_uid);
+       i_gid_write(inode, i_gid);
        inode->i_ino = le32_to_cpu(sqsh_ino->inode_number);
        inode->i_mtime.tv_sec = le32_to_cpu(sqsh_ino->mtime);
        inode->i_atime.tv_sec = inode->i_mtime.tv_sec;