@@ -842,6 +842,7 @@ after_frag( fd_repair_tile_ctx_t * ctx,
842
842
fd_fseq_update ( ctx -> turbine_slot , fd_ulong_max ( shred -> slot , fd_fseq_query ( ctx -> turbine_slot ) ) );
843
843
if ( FD_UNLIKELY ( shred -> slot <= fd_forest_root_slot ( ctx -> forest ) ) ) return ; /* shred too old */
844
844
845
+ /* TODO add automated caught-up test */
845
846
846
847
/* Insert the shred sig (shared by all shred members in the FEC set)
847
848
into the map. */
@@ -1075,6 +1076,7 @@ during_housekeeping( fd_repair_tile_ctx_t * ctx ) {
1075
1076
return ;
1076
1077
}
1077
1078
}
1079
+
1078
1080
static void
1079
1081
privileged_init ( fd_topo_t * topo ,
1080
1082
fd_topo_tile_t * tile ) {
@@ -1196,7 +1198,6 @@ unprivileged_init( fd_topo_t * topo,
1196
1198
1197
1199
/* Scratch mem setup */
1198
1200
1199
- ctx -> blockstore = & ctx -> blockstore_ljoin ;
1200
1201
ctx -> repair = FD_SCRATCH_ALLOC_APPEND ( l , fd_repair_align (), fd_repair_footprint () );
1201
1202
ctx -> forest = FD_SCRATCH_ALLOC_APPEND ( l , fd_forest_align (), fd_forest_footprint ( tile -> repair .slot_max ) );
1202
1203
ctx -> fec_sigs = FD_SCRATCH_ALLOC_APPEND ( l , fd_fec_sig_align (), fd_fec_sig_footprint ( 20 ) );
@@ -1237,17 +1238,20 @@ unprivileged_init( fd_topo_t * topo,
1237
1238
}
1238
1239
1239
1240
/* Blockstore setup */
1241
+ ctx -> blockstore = NULL ;
1240
1242
ulong blockstore_obj_id = fd_pod_queryf_ulong ( topo -> props , ULONG_MAX , "blockstore" );
1241
- FD_TEST ( blockstore_obj_id != ULONG_MAX );
1242
- ctx -> blockstore_wksp = topo -> workspaces [ topo -> objs [ blockstore_obj_id ].wksp_id ].wksp ;
1243
-
1244
- if ( ctx -> blockstore_wksp == NULL ) {
1245
- FD_LOG_ERR (( "no blocktore workspace" ));
1243
+ if ( FD_UNLIKELY ( blockstore_obj_id == ULONG_MAX ) ) {
1244
+ FD_LOG_WARNING (( "no blockstore_obj_id" ));
1245
+ } else {
1246
+ ctx -> blockstore_wksp = topo -> workspaces [ topo -> objs [ blockstore_obj_id ].wksp_id ].wksp ;
1247
+ if ( FD_UNLIKELY ( ctx -> blockstore_wksp == NULL ) ) {
1248
+ FD_LOG_WARNING (( "no blocktore workspace" ));
1249
+ } else {
1250
+ ctx -> blockstore = fd_blockstore_join ( & ctx -> blockstore_ljoin , fd_topo_obj_laddr ( topo , blockstore_obj_id ) );
1251
+ FD_TEST ( ctx -> blockstore != NULL );
1252
+ }
1246
1253
}
1247
1254
1248
- ctx -> blockstore = fd_blockstore_join ( & ctx -> blockstore_ljoin , fd_topo_obj_laddr ( topo , blockstore_obj_id ) );
1249
- FD_TEST ( ctx -> blockstore != NULL );
1250
-
1251
1255
FD_LOG_NOTICE (( "repair starting" ));
1252
1256
1253
1257
/* Repair set up */
0 commit comments