diff options
author | Yan, Zheng <zheng.z.yan@intel.com> | 2014-02-13 11:40:26 (GMT) |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2014-02-17 20:37:13 (GMT) |
commit | 4d5f5df673ee673851986b5a492a9752fbb39dc5 (patch) | |
tree | 5c203121ffa8d1d1edfacbd541282115f0f5e832 /fs/sysv/inode.c | |
parent | 45195e42c78ea91135108207dbcaf75e5556a309 (diff) | |
download | linux-4d5f5df673ee673851986b5a492a9752fbb39dc5.tar.xz |
ceph: fix __dcache_readdir()
If directory is fragmented, readdir() read its dirfrags one by one.
After reading all dirfrags, the corresponding dentries are sorted in
(frag_t, off) order in the dcache. If dentries of a directory are all
cached, __dcache_readdir() can use the cached dentries to satisfy
readdir syscall. But when checking if a given dentry is after the
position of readdir, __dcache_readdir() compares numerical value of
frag_t directly. This is wrong, it should use ceph_frag_compare().
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Diffstat (limited to 'fs/sysv/inode.c')
0 files changed, 0 insertions, 0 deletions