commit | c3cd62839aaa2cdb2b99687c9e44f1b300a4aece | [log] [tgz] |
---|---|---|
author | Sage Weil <sage@newdream.net> | Wed Jun 01 16:08:44 2011 -0700 |
committer | Sage Weil <sage@newdream.net> | Tue Jun 07 21:34:14 2011 -0700 |
tree | fc7823426f29f44911c93394fb8a3e43d0c91846 | |
parent | 2584547230ae49b8de91ab3bb5e0a81898905b45 [diff] |
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>