The ofd_statfs() needs NOT to check whether the layout LFSCK is
rebuilding the LAST_ID file(s) on the OST or not, because:
1) Such checking will be done when the MDT wants to pre-allocate
OST-objects via ofd_create_hdl().
2) The STATFS request may be from client, if ofd_statfs() returns
-ENOSPC to the client under the case of layout LFSCK rebuilding
the LAST_ID file(s), the client may be confused.
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Iae9eb8485f3b971fda3bcd299df28db7ad4d80a0
Reviewed-on: http://review.whamcloud.com/15349
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
int rc = 0;
ENTRY;
- down_read(&ofd->ofd_lastid_rwsem);
- /* Currently, for safe, we do not distinguish which LAST_ID is broken,
- * we may do that in the future.
- * Return -ENOSPC until the LAST_ID rebuilt. */
- if (unlikely(ofd->ofd_lastid_rebuilding))
- GOTO(out, rc = -ENOSPC);
-
spin_lock(&ofd->ofd_osfs_lock);
if (cfs_time_before_64(ofd->ofd_osfs_age, max_age) || max_age == 0) {
u64 unstable;
if (from_cache)
*from_cache = 1;
}
-
GOTO(out, rc);
out:
- up_read(&ofd->ofd_lastid_rwsem);
-
return rc;
}