+ struct oal_circ_buf *ocb;
+ struct lu_seq_range range;
+ int rc;
+
+ /* learn target MDT from FID's sequence */
+ range.lsr_flags = LU_SEQ_RANGE_ANY;
+ rc = fld_server_lookup(env, m->ofd_seq_site.ss_server_fld,
+ fid_seq(parent_fid), &range);
+ if (unlikely(rc))
+ CERROR("%s: can't resolve "DFID": rc=%d\n",
+ ofd_name(m), PFID(parent_fid), rc);
+
+ down_read(&oal->oal_buf_list_sem);
+ list_for_each_entry(ocb, &oal->oal_circ_buf_list, ocb_list) {
+ /* filter by MDT index if requested */
+ if (ocb->ocb_filter == 0xffffffff ||
+ range.lsr_index == ocb->ocb_filter)
+ oal_write_entry(ocb, &oae, sizeof(oae));
+ }
+ up_read(&oal->oal_buf_list_sem);