char *prefix = is_dir ? "" : "lmm_";
char nl = is_dir ? ' ' : '\n';
- if (is_dir && lum->lmm_object_seq == LOV_OBJECT_GROUP_DEFAULT) {
- lum->lmm_object_seq = LOV_OBJECT_GROUP_CLEAR;
+ if (is_dir && lum->lmm_object_seq == FID_SEQ_LOV_DEFAULT) {
+ lum->lmm_object_seq = FID_SEQ_OST_MDT0;
if (verbose & VERBOSE_DETAIL)
llapi_printf(LLAPI_MSG_NORMAL, "(Default) ");
}
}
if (ret) {
- if (errno == ENODATA) {
+ if (errno == ENODATA && d != NULL) {
+ /* We need to "fake" the "use the default" values
+ * since the lmm struct is zeroed out at this point.
+ * The magic needs to be set in order to satisfy
+ * a check later on in the code path.
+ * The object_seq needs to be set for the "(Default)"
+ * prefix to be displayed. */
+ struct lov_user_md *lmm = ¶m->lmd->lmd_lmm;
+ lmm->lmm_magic = LOV_MAGIC_V1;
+ if (!param->raw)
+ lmm->lmm_object_seq = FID_SEQ_LOV_DEFAULT;
+ lmm->lmm_stripe_count = 0;
+ lmm->lmm_stripe_size = 0;
+ lmm->lmm_stripe_offset = -1;
+ goto dump;
+
+ } else if (errno == ENODATA && parent != NULL) {
if (!param->obduuid)
llapi_printf(LLAPI_MSG_NORMAL,
"%s has no stripe info\n", path);
return ret;
}
+dump:
if (!param->get_mdt_index)
llapi_lov_dump_user_lmm(param, path, d ? 1 : 0);