- size_round(ioc_data->ioc_inllen1) +
- size_round(ioc_data->ioc_inllen2) +
- size_round(ioc_data->ioc_inllen3);
+ cfs_size_round(ioc_data->ioc_inllen1) +
+ cfs_size_round(ioc_data->ioc_inllen2) +
+ cfs_size_round(ioc_data->ioc_inllen3);
- size_round(ioc_data->ioc_inllen1) +
- size_round(ioc_data->ioc_inllen2) +
- size_round(ioc_data->ioc_inllen3);
+ cfs_size_round(ioc_data->ioc_inllen1) +
+ cfs_size_round(ioc_data->ioc_inllen2) +
+ cfs_size_round(ioc_data->ioc_inllen3);
l = snprintf(out, remains,
"[index]: %05d [logid]: #"LPX64"#"LPX64"#%08x\n",
cur_index, lir->lid_id.lgl_oid,
l = snprintf(out, remains,
"[index]: %05d [logid]: #"LPX64"#"LPX64"#%08x\n",
cur_index, lir->lid_id.lgl_oid,
} else {
l = snprintf(out, remains,
"[index]: %05d [type]: %02x [len]: %04d\n",
} else {
l = snprintf(out, remains,
"[index]: %05d [type]: %02x [len]: %04d\n",
rc = llog_cat_id2handle(cat, &log, logid);
if (rc) {
CDEBUG(D_IOCTL, "cannot find log #"LPX64"#"LPX64"#%08x\n",
rc = llog_cat_id2handle(cat, &log, logid);
if (rc) {
CDEBUG(D_IOCTL, "cannot find log #"LPX64"#"LPX64"#%08x\n",
char *out = data->ioc_bulk;
l = snprintf(out, remains,
char *out = data->ioc_bulk;
l = snprintf(out, remains,
handle->lgh_id.lgl_ogen,
handle->lgh_hdr->llh_flags,
handle->lgh_hdr->llh_flags &
handle->lgh_id.lgl_ogen,
handle->lgh_hdr->llh_flags,
handle->lgh_hdr->llh_flags &
GOTO(out_close, err = -EINVAL);
if (handle->lgh_hdr->llh_flags & LLOG_F_IS_CAT) {
GOTO(out_close, err = -EINVAL);
if (handle->lgh_hdr->llh_flags & LLOG_F_IS_CAT) {
- rc = llog_get_cat_list(obd, obd, name, count, idarray);
- if (rc) {
- OBD_FREE(idarray, size);
- RETURN(rc);
- }
+ cfs_mutex_down(&obd->obd_olg.olg_cat_processing);
+ rc = llog_get_cat_list(obd, name, 0, count, idarray);
+ if (rc)
+ GOTO(out, rc);
id = &idarray[i].lci_logid;
l = snprintf(out, remains,
"catalog log: #"LPX64"#"LPX64"#%08x\n",
id = &idarray[i].lci_logid;
l = snprintf(out, remains,
"catalog log: #"LPX64"#"LPX64"#%08x\n",
- OBD_FREE(idarray, size);
- RETURN(0);
+out:
+ /* release semaphore */
+ cfs_mutex_up(&obd->obd_olg.olg_cat_processing);
+
+ OBD_FREE_LARGE(idarray, size);
+ RETURN(rc);