diff options
author | Sage Weil <sage@newdream.net> | 2011-06-02 01:08:44 +0200 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2011-06-08 06:34:14 +0200 |
commit | c3cd62839aaa2cdb2b99687c9e44f1b300a4aece (patch) | |
tree | fc7823426f29f44911c93394fb8a3e43d0c91846 /fs/sysfs | |
parent | ceph: fix sync vs canceled write (diff) | |
download | linux-c3cd62839aaa2cdb2b99687c9e44f1b300a4aece.tar.xz linux-c3cd62839aaa2cdb2b99687c9e44f1b300a4aece.zip |
ceph: fix short sync reads from the OSD
If we get a short read from the OSD because the object is small, we need to
zero the remainder of the buffer. For O_DIRECT reads, the attempted range
is not trimmed to i_size by the VFS, so we were actually looping
indefinitely.
Fix by trimming by i_size, and the unconditionally zeroing the trailing
range.
Reported-by: Jeff Wu <cpwu@tnsoft.com.cn>
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/sysfs')
0 files changed, 0 insertions, 0 deletions