- rc = llog_process(llh, d->lpd_cb, d->lpd_data, NULL);
+ if (rec->lrh_index < d->lpd_startcat)
+ /* Skip processing of the logs until startcat */
+ RETURN(0);
+
+ if (d->lpd_startidx > 0) {
+ struct llog_process_cat_data cd;
+
+ cd.lpcd_first_idx = d->lpd_startidx;
+ cd.lpcd_last_idx = 0;
+ rc = llog_process_flags(llh, d->lpd_cb, d->lpd_data, &cd,
+ d->lpd_flags);
+ /* Continue processing the next log from idx 0 */
+ d->lpd_startidx = 0;
+ } else {
+ rc = llog_process_flags(llh, d->lpd_cb, d->lpd_data, NULL,
+ d->lpd_flags);
+ }
+