diff options
author | Jeff Layton <jlayton@kernel.org> | 2021-04-09 15:58:35 -0400 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2021-04-27 23:52:23 +0200 |
commit | 2d6795fbb8c34ed5eb44db2a99960614424585f8 (patch) | |
tree | cd078e667f31a698946b2a042878e4a1bf447769 /fs/ceph/mds_client.c | |
parent | 8ff2d290c8ce77c8e30d9b08c13d87cd5688d7e1 (diff) | |
download | linux-stable-2d6795fbb8c34ed5eb44db2a99960614424585f8.tar.gz linux-stable-2d6795fbb8c34ed5eb44db2a99960614424585f8.tar.bz2 linux-stable-2d6795fbb8c34ed5eb44db2a99960614424585f8.zip |
ceph: fix up some bare fetches of i_size
We need to use i_size_read(), which properly handles the torn read
case on 32-bit arches.
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs/ceph/mds_client.c')
-rw-r--r-- | fs/ceph/mds_client.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 5c50f7986404..63b53098360c 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -3787,7 +3787,7 @@ static int reconnect_caps_cb(struct inode *inode, struct ceph_cap *cap, rec.v1.cap_id = cpu_to_le64(cap->cap_id); rec.v1.wanted = cpu_to_le32(__ceph_caps_wanted(ci)); rec.v1.issued = cpu_to_le32(cap->issued); - rec.v1.size = cpu_to_le64(inode->i_size); + rec.v1.size = cpu_to_le64(i_size_read(inode)); ceph_encode_timespec64(&rec.v1.mtime, &inode->i_mtime); ceph_encode_timespec64(&rec.v1.atime, &inode->i_atime); rec.v1.snaprealm = cpu_to_le64(ci->i_snap_realm->ino); |