• Yan, Zheng's avatar
    ceph: introduce a new inode flag indicating if cached dentries are ordered · 70db4f36
    Yan, Zheng authored
    After creating/deleting/renaming file, offsets of sibling dentries may
    change. So we can not use cached dentries to satisfy readdir. But we can
    still use the cached dentries to conclude -ENOENT for lookup.
    
    This patch introduces a new inode flag indicating if child dentries are
    ordered. The flag is set at the same time marking a directory complete.
    After creating/deleting/renaming file, we clear the flag on directory
    inode. This prevents ceph_readdir() from using cached dentries to satisfy
    readdir syscall.
    Signed-off-by: default avatarYan, Zheng <zyan@redhat.com>
    70db4f36
dir.c 36.4 KB