|
@@ -1516,15 +1516,18 @@ int ceph_readdir_prepopulate(struct ceph_mds_request *req,
|
|
|
rinfo->dir_nr, parent);
|
|
|
if (rinfo->dir_dir)
|
|
|
ceph_fill_dirfrag(d_inode(parent), rinfo->dir_dir);
|
|
|
- }
|
|
|
|
|
|
- if (ceph_frag_is_leftmost(frag) && req->r_readdir_offset == 2 &&
|
|
|
- !(rinfo->hash_order && last_hash)) {
|
|
|
- /* note dir version at start of readdir so we can tell
|
|
|
- * if any dentries get dropped */
|
|
|
- req->r_dir_release_cnt = atomic64_read(&ci->i_release_count);
|
|
|
- req->r_dir_ordered_cnt = atomic64_read(&ci->i_ordered_count);
|
|
|
- req->r_readdir_cache_idx = 0;
|
|
|
+ if (ceph_frag_is_leftmost(frag) &&
|
|
|
+ req->r_readdir_offset == 2 &&
|
|
|
+ !(rinfo->hash_order && last_hash)) {
|
|
|
+ /* note dir version at start of readdir so we can
|
|
|
+ * tell if any dentries get dropped */
|
|
|
+ req->r_dir_release_cnt =
|
|
|
+ atomic64_read(&ci->i_release_count);
|
|
|
+ req->r_dir_ordered_cnt =
|
|
|
+ atomic64_read(&ci->i_ordered_count);
|
|
|
+ req->r_readdir_cache_idx = 0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
cache_ctl.index = req->r_readdir_cache_idx;
|