During replay of PFL file open, lod_qos_parse_config()->
lod_use_defined_striping() initialed stripe LU-objects, but it keeps
the component's LCME_FL_INIT flag; and later in lod_striping_create()
these component will be skipped create OST objects, that fails the
replay, it should replay creating its OST objects.
Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: Ic84374941df7a14b53e463f6117d5fbb9995c33d
Reviewed-on: https://review.whamcloud.com/26630
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
GOTO(out, rc = -EINVAL);
need_create = true;
- /*
- * In replay, the component EA is passed by client,
- * Clear LCME_FL_INIT so that lod_striping_create() can create
- * the striping objects.
- */
- if (replay)
- lod_comp_unset_init(lod_comp);
rc = lod_qos_prep_create(env, lo, NULL, th, i, inuse);
if (rc)
lod_comp->llc_stripe = stripe;
lod_comp->llc_stripes_allocated = stripe_len;
}
- } else if (!(lod_comp->llc_flags & LCME_FL_INIT)) {
+ } else {
/*
* lod_qos_parse_config() found supplied buf as a predefined
* striping (not a hint), so it allocated all the object
break;
}
}
+ /**
+ * Clear LCME_FL_INIT for the component so that
+ * lod_striping_create() can create the striping objects
+ * in replay.
+ */
+ lod_comp_unset_init(lod_comp);
}
out: