summaryrefslogtreecommitdiffstats
path: root/fs/ceph
diff options
context:
space:
mode:
authorYan, Zheng <zheng.z.yan@intel.com>2014-07-21 10:15:48 +0800
committerYan, Zheng <zheng.z.yan@intel.com>2014-07-21 10:17:05 +0800
commitd0d0db2268cc343c2361c83510d8e9711021fcce (patch)
tree6a943b1002888c6d2f09f55c829c9538511a2f8d /fs/ceph
parent51da8e8c6f687ff94d4a7d39633f7547d944321f (diff)
downloadlinux-d0d0db2268cc343c2361c83510d8e9711021fcce.tar.bz2
ceph: check zero length in ceph_sync_read()
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Diffstat (limited to 'fs/ceph')
-rw-r--r--fs/ceph/file.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ceph/file.c b/fs/ceph/file.c
index fec9ddcf1528..c66d4b436437 100644
--- a/fs/ceph/file.c
+++ b/fs/ceph/file.c
@@ -423,6 +423,9 @@ static ssize_t ceph_sync_read(struct kiocb *iocb, struct iov_iter *i,
dout("sync_read on file %p %llu~%u %s\n", file, off,
(unsigned)len,
(file->f_flags & O_DIRECT) ? "O_DIRECT" : "");
+
+ if (!len)
+ return 0;
/*
* flush any page cache pages in this range. this
* will make concurrent normal and sync io slow,