static void obd_connect_data_seqprint(struct seq_file *m, struct obd_connect_data *ocd) { u64 flags; LASSERT(ocd); flags = ocd->ocd_connect_flags; seq_printf(m, " connect_data:\n" " flags: %llx\n" " instance: %u\n", ocd->ocd_connect_flags, ocd->ocd_instance); if (flags & OBD_CONNECT_VERSION) seq_printf(m, " target_version: %u.%u.%u.%u\n", OBD_OCD_VERSION_MAJOR(ocd->ocd_version), OBD_OCD_VERSION_MINOR(ocd->ocd_version), OBD_OCD_VERSION_PATCH(ocd->ocd_version), OBD_OCD_VERSION_FIX(ocd->ocd_version)); if (flags & OBD_CONNECT_MDS) seq_printf(m, " mdt_index: %d\n", ocd->ocd_group); if (flags & OBD_CONNECT_GRANT) seq_printf(m, " initial_grant: %d\n", ocd->ocd_grant); if (flags & OBD_CONNECT_INDEX) seq_printf(m, " target_index: %u\n", ocd->ocd_index); if (flags & OBD_CONNECT_BRW_SIZE) seq_printf(m, " max_brw_size: %d\n", ocd->ocd_brw_size); if (flags & OBD_CONNECT_IBITS) seq_printf(m, " ibits_known: %llx\n", ocd->ocd_ibits_known); if (flags & OBD_CONNECT_GRANT_PARAM) seq_printf(m, " grant_block_size: %d\n" " grant_inode_size: %d\n" " grant_extent_overhead: %d\n", ocd->ocd_blocksize, ocd->ocd_inodespace, ocd->ocd_grant_extent); if (flags & OBD_CONNECT_TRANSNO) seq_printf(m, " first_transno: %llx\n", ocd->ocd_transno); if (flags & OBD_CONNECT_CKSUM) seq_printf(m, " cksum_types: %#x\n", ocd->ocd_cksum_types); if (flags & OBD_CONNECT_MAX_EASIZE) seq_printf(m, " max_easize: %d\n", ocd->ocd_max_easize); if (flags & OBD_CONNECT_MAXBYTES) seq_printf(m, " max_object_bytes: %llx\n", ocd->ocd_maxbytes); if (flags & OBD_CONNECT_MULTIMODRPCS) seq_printf(m, " max_mod_rpcs: %hu\n", ocd->ocd_maxmodrpcs); }
void print_lustre_cfg(struct lustre_cfg *lcfg, int *skip) { enum lcfg_command_type cmd = le32_to_cpu(lcfg->lcfg_command); if (*skip > 0) printf("SKIP "); switch(cmd){ case(LCFG_ATTACH):{ printf("attach "); print_1_cfg(lcfg); break; } case(LCFG_SETUP):{ print_setup_cfg(lcfg); break; } case(LCFG_DETACH):{ printf("detach "); print_1_cfg(lcfg); break; } case(LCFG_CLEANUP):{ printf("cleanup "); print_1_cfg(lcfg); break; } case(LCFG_ADD_UUID):{ printf("add_uuid "); print_1_cfg(lcfg); break; } case(LCFG_DEL_UUID):{ printf("del_uuid "); print_1_cfg(lcfg); break; } case(LCFG_ADD_CONN):{ printf("add_conn "); print_1_cfg(lcfg); break; } case(LCFG_DEL_CONN):{ printf("del_conn "); print_1_cfg(lcfg); break; } case(LCFG_LOV_ADD_OBD):{ printf("lov_modify_tgts add "); print_1_cfg(lcfg); break; } case(LCFG_LOV_DEL_OBD):{ printf("lov_modify_tgts del "); print_1_cfg(lcfg); break; } case(LCFG_ADD_MDC):{ printf("modify_mdc_tgts add "); print_1_cfg(lcfg); break; } case(LCFG_DEL_MDC):{ printf("modify_mdc_tgts del "); print_1_cfg(lcfg); break; } case(LCFG_MOUNTOPT):{ printf("mount_option "); print_1_cfg(lcfg); break; } case(LCFG_DEL_MOUNTOPT):{ printf("del_mount_option "); print_1_cfg(lcfg); break; } case(LCFG_SET_TIMEOUT):{ printf("set_timeout=%d ", lcfg->lcfg_num); break; } case(LCFG_SET_LDLM_TIMEOUT):{ printf("set_ldlm_timeout=%d ", lcfg->lcfg_num); break; } case(LCFG_SET_UPCALL):{ printf("set_lustre_upcall "); print_1_cfg(lcfg); break; } case(LCFG_PARAM):{ printf("param "); print_1_cfg(lcfg); break; } case(LCFG_SET_PARAM):{ printf("set_param "); print_1_cfg(lcfg); break; } case(LCFG_SPTLRPC_CONF):{ printf("sptlrpc_conf "); print_1_cfg(lcfg); break; } case(LCFG_MARKER):{ struct cfg_marker *marker = lustre_cfg_buf(lcfg, 1); char createtime[26], canceltime[26] = ""; time_t time_tmp; if (marker->cm_flags & CM_SKIP) { if (marker->cm_flags & CM_START) { printf("SKIP START "); (*skip)++; } else { printf( "END "); *skip = 0; } } if (marker->cm_flags & CM_EXCLUDE) { if (marker->cm_flags & CM_START) printf("EXCLUDE START "); else printf("EXCLUDE END "); } /* Handle overflow of 32-bit time_t gracefully. * The copy to time_tmp is needed in any case to * keep the pointer happy, even on 64-bit systems. */ time_tmp = marker->cm_createtime; if (time_tmp == marker->cm_createtime) { ctime_r(&time_tmp, createtime); createtime[strlen(createtime) - 1] = 0; } else { strcpy(createtime, "in the distant future"); } if (marker->cm_canceltime) { /* Like cm_createtime, we try to handle overflow of * 32-bit time_t gracefully. The copy to time_tmp * is also needed on 64-bit systems to keep the * pointer happy, see bug 16771 */ time_tmp = marker->cm_canceltime; if (time_tmp == marker->cm_canceltime) { ctime_r(&time_tmp, canceltime); canceltime[strlen(canceltime) - 1] = 0; } else { strcpy(canceltime, "in the distant future"); } } printf("marker %3d (flags=%#04x, v%d.%d.%d.%d) %-15s '%s' %s-%s", marker->cm_step, marker->cm_flags, OBD_OCD_VERSION_MAJOR(marker->cm_vers), OBD_OCD_VERSION_MINOR(marker->cm_vers), OBD_OCD_VERSION_PATCH(marker->cm_vers), OBD_OCD_VERSION_FIX(marker->cm_vers), marker->cm_tgtname, marker->cm_comment, createtime, canceltime); break; } case(LCFG_POOL_NEW):{ printf("pool new "); print_1_cfg(lcfg); break; } case(LCFG_POOL_ADD):{ printf("pool add "); print_1_cfg(lcfg); break; } case(LCFG_POOL_REM):{ printf("pool remove "); print_1_cfg(lcfg); break; } case(LCFG_POOL_DEL):{ printf("pool destroy "); print_1_cfg(lcfg); break; } default: printf("unsupported cmd_code = %x\n",cmd); } printf("\n"); return; }