In the osd_inode_iteration() logic, if the next/exec method
sets the iteration @offset variable just as group boundary:
the LDISKFS_INODES_PER_GROUP(sb), the original logic cannot
incrase the group#, as to the iteration repeats in the same
groupc for ever.
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ie55d8ffaed2257baed9761a30c09c62e23105434
Reviewed-on: https://review.whamcloud.com/26059
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
RETURN(-EIO);
}
- while (param.offset < LDISKFS_INODES_PER_GROUP(param.sb) &&
- *count < max) {
+ while (*count < max) {
struct osd_idmap_cache *oic = NULL;
if (param.offset +
- ldiskfs_itable_unused_count(param.sb, desc) >
+ ldiskfs_itable_unused_count(param.sb, desc) >=
LDISKFS_INODES_PER_GROUP(param.sb)) {
next_group = true;
goto next_group;