/* lov_obd.c */
void lov_fix_desc(struct lov_desc *desc);
-int lov_get_stripecnt(struct lov_obd *lov, int stripe_count);
+int lov_get_stripecnt(struct lov_obd *lov, __u32 stripe_count);
void lov_getref(struct obd_device *obd);
void lov_putref(struct obd_device *obd);
lsm->lsm_magic, LOV_MAGIC);
RETURN(-EINVAL);
}
- stripe_count = lsm->lsm_stripe_count;
+ if (!lmmp) {
+ stripe_count = lov_get_stripecnt(lov, lsm->lsm_stripe_count);
+ lsm->lsm_stripe_count = stripe_count;
+ } else {
+ stripe_count = lsm->lsm_stripe_count;
+ }
}
/* XXX LOV STACKING call into osc for sizes */
}
/* Find the max stripecount we should use */
-int lov_get_stripecnt(struct lov_obd *lov, int stripe_count)
+int lov_get_stripecnt(struct lov_obd *lov, __u32 stripe_count)
{
if (!stripe_count)
stripe_count = lov->desc.ld_default_stripe_count;