From: Yan, Zheng Date: Thu, 13 Feb 2014 11:40:26 +0000 (+0800) Subject: ceph: fix __dcache_readdir() X-Git-Tag: v3.14-rc4~34^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4d5f5df673ee673851986b5a492a9752fbb39dc5;p=pandora-kernel.git 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 --- Reading git-diff-tree failed