commit
6c3c5c7b breaks OBD_STATFS_NODELAY behaviour.
It adds unnecessary delay while running df command with inactive OSTs.
We shouldn't try to recover connection to OST in this case.
Change-Id: Ia04cfb76b393df4f0c4c8d841b48d20306025c92
Signed-off-by: Andriy Skulysh <Andriy_Skulysh@xyratex.com>
Reviewed-on: http://review.whamcloud.com/7762
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
struct lov_request *req;
if (lov->lov_tgts[i] == NULL ||
- (!lov_check_and_wait_active(lov, i) &&
- (oinfo->oi_flags & OBD_STATFS_NODELAY))) {
+ (oinfo->oi_flags & OBD_STATFS_NODELAY &&
+ !lov->lov_tgts[i]->ltd_active)) {
CDEBUG(D_HA, "lov idx %d inactive\n", i);
continue;
}
+ if (!lov->lov_tgts[i]->ltd_active)
+ lov_check_and_wait_active(lov, i);
+
/* skip targets that have been explicitely disabled by the
* administrator */
if (!lov->lov_tgts[i]->ltd_exp) {