- { "LAST_GROUP", { FID_SEQ_LOCAL_FILE, OFD_LAST_GROUP_OID, 0 },
- OLF_SHOW_NAME, NULL, NULL },
-
- /* SLAVE_LOG, llog for destroy slave stripes of striped dir */
- { "SLAVE_LOG", { FID_SEQ_LOCAL_FILE, SLAVE_LLOG_CATALOGS_OID, 0 },
- OLF_SHOW_NAME, NULL, NULL },
+ {
+ .olm_name = "LAST_GROUP",
+ .olm_fid = {
+ .f_seq = FID_SEQ_LOCAL_FILE,
+ .f_oid = OFD_LAST_GROUP_OID,
+ },
+ .olm_flags = OLF_SHOW_NAME,
+ .olm_namelen = sizeof("LAST_GROUP") - 1,
+ },
+
+ /* committed batchid for cross-MDT operation */
+ {
+ .olm_name = "BATCHID",
+ .olm_fid = {
+ .f_seq = FID_SEQ_LOCAL_FILE,
+ .f_oid = BATCHID_COMMITTED_OID,
+ },
+ .olm_flags = OLF_SHOW_NAME,
+ .olm_namelen = sizeof("BATCHID") - 1,
+ },
+
+ /* OSP update logs update_log{_dir} use f_seq = FID_SEQ_UPDATE_LOG{_DIR}
+ * and f_oid = index for their log files. See lu_update_log{_dir}_fid()
+ * for more details. */
+
+ /* update_log */
+ {
+ .olm_name = "update_log",
+ .olm_fid = {
+ .f_seq = FID_SEQ_UPDATE_LOG,
+ },
+ .olm_flags = OLF_SHOW_NAME | OLF_IDX_IN_FID,
+ .olm_namelen = sizeof("update_log") - 1,
+ },
+
+ /* update_log_dir */
+ {
+ .olm_name = "update_log_dir",
+ .olm_fid = {
+ .f_seq = FID_SEQ_UPDATE_LOG_DIR,
+ },
+ .olm_flags = OLF_SHOW_NAME | OLF_SCAN_SUBITEMS |
+ OLF_IDX_IN_FID,
+ .olm_namelen = sizeof("update_log_dir") - 1,
+ .olm_scandir = osd_ios_general_scan,
+ .olm_filldir = osd_ios_uld_fill,
+ },