ceph: initialize i_size variable in ceph_sync_read
authorJeff Layton <jlayton@kernel.org>
Tue, 23 Nov 2021 12:30:38 +0000 (07:30 -0500)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 1 Dec 2021 16:08:26 +0000 (17:08 +0100)
Newer compilers seem to determine that this variable being uninitialized
isn't a problem, but older compilers (from the RHEL8 era) seem to choke
on it and complain that it could be used uninitialized.

Go ahead and initialize the variable at declaration time to silence
potential compiler warnings.

Fixes: c3d8e0b5de48 ("ceph: return the real size read when it hits EOF")
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/file.c

index 02a0a0fd9ccd51c7f4d11b60c875eaa081d0e2a6..b24442e27e4e0422fc352d2e40a53b3643e9f40c 100644 (file)
@@ -847,7 +847,7 @@ static ssize_t ceph_sync_read(struct kiocb *iocb, struct iov_iter *to,
        ssize_t ret;
        u64 off = iocb->ki_pos;
        u64 len = iov_iter_count(to);
-       u64 i_size;
+       u64 i_size = i_size_read(inode);
 
        dout("sync_read on file %p %llu~%u %s\n", file, off, (unsigned)len,
             (file->f_flags & O_DIRECT) ? "O_DIRECT" : "");