|
@@ -56,16 +56,20 @@
|
|
|
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;
|