Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac497d5a authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ANDROID: sdcardfs: Use lower getattr times/size"

parents 3e0b49b8 a7f30866
Loading
Loading
Loading
Loading
+9 −10
Original line number Diff line number Diff line
@@ -821,8 +821,8 @@ static int sdcardfs_setattr(struct vfsmount *mnt, struct dentry *dentry, struct
	return err;
}

static int sdcardfs_fillattr(struct vfsmount *mnt,
				struct inode *inode, struct kstat *stat)
static int sdcardfs_fillattr(struct vfsmount *mnt, struct inode *inode,
				struct kstat *lower_stat, struct kstat *stat)
{
	struct sdcardfs_inode_info *info = SDCARDFS_I(inode);
	struct sdcardfs_inode_data *top = top_data_get(info);
@@ -837,12 +837,12 @@ static int sdcardfs_fillattr(struct vfsmount *mnt,
	stat->uid = make_kuid(&init_user_ns, top->d_uid);
	stat->gid = make_kgid(&init_user_ns, get_gid(mnt, top));
	stat->rdev = inode->i_rdev;
	stat->size = i_size_read(inode);
	stat->atime = inode->i_atime;
	stat->mtime = inode->i_mtime;
	stat->ctime = inode->i_ctime;
	stat->blksize = (1 << inode->i_blkbits);
	stat->blocks = inode->i_blocks;
	stat->size = lower_stat->size;
	stat->atime = lower_stat->atime;
	stat->mtime = lower_stat->mtime;
	stat->ctime = lower_stat->ctime;
	stat->blksize = lower_stat->blksize;
	stat->blocks = lower_stat->blocks;
	data_put(top);
	return 0;
}
@@ -868,8 +868,7 @@ static int sdcardfs_getattr(struct vfsmount *mnt, struct dentry *dentry,
		goto out;
	sdcardfs_copy_and_fix_attrs(d_inode(dentry),
			      d_inode(lower_path.dentry));
	err = sdcardfs_fillattr(mnt, d_inode(dentry), stat);
	stat->blocks = lower_stat.blocks;
	err = sdcardfs_fillattr(mnt, d_inode(dentry), &lower_stat, stat);
out:
	sdcardfs_put_lower_path(dentry, &lower_path);
	return err;