@@ -209,6 +209,13 @@ setup_topo_accdb_cache( fd_topo_t * topo,
209209 return line_obj ;
210210}
211211
212+ fd_topo_obj_t *
213+ setup_topo_vinyl_admin ( fd_topo_t * topo ,
214+ char const * wksp_name ) {
215+ fd_topo_obj_t * obj = fd_topob_obj ( topo , "vinyl_admin" , wksp_name );
216+ return obj ;
217+ }
218+
212219/* Resolves a hostname to a single ip address. If multiple ip address
213220 records are returned by getaddrinfo, only the first IPV4 address is
214221 returned via ip_addr. */
@@ -486,11 +493,11 @@ fd_topo_initialize( config_t * config ) {
486493 if ( vinyl_enabled ) {
487494 fd_topob_wksp ( topo , "snaplh" );
488495 fd_topob_wksp ( topo , "snaplv" );
496+ fd_topob_wksp ( topo , "vinyl_admin" );
489497 fd_topob_wksp ( topo , "snaplv_lh" );
490498 fd_topob_wksp ( topo , "snaplh_lv" );
491499 fd_topob_wksp ( topo , "snapwm_lv" );
492500 fd_topob_wksp ( topo , "snaplv_ct" );
493- fd_topob_wksp ( topo , "snaplv_wr" );
494501 } else {
495502 fd_topob_wksp ( topo , "snapla" );
496503 fd_topob_wksp ( topo , "snapls" );
@@ -560,7 +567,6 @@ fd_topo_initialize( config_t * config ) {
560567 /**/ fd_topob_link( topo, " snapwm_lv ", " snapwm_lv ", 32768UL, FD_SNAPWM_DUP_META_BATCH_SZ, 1UL );
561568 /**/ fd_topob_link( topo, " snaplv_lh ", " snaplv_lh ", 262144UL, FD_SNAPLV_DUP_META_SZ, FD_SNAPLV_STEM_BURST ); /* FD_SNAPWM_DUP_META_BATCH_CNT_MAX times the depth of snapwm_lv */
562569 /**/ fd_topob_link( topo, " snaplv_ct ", " snaplv_ct ", 128UL, 0UL, 1UL );
563- /**/ fd_topob_link( topo, " snaplv_wr ", " snaplv_wr ", 128UL, 0UL, 1UL ); /* no dcache, only mcache fseq is used on this link. */
564570 } else {
565571 FOR (lta_tile_cnt ) fd_topob_link ( topo , "snapla_ls" , "snapla_ls" , 128UL , sizeof (fd_lthash_value_t ), 1UL );
566572 /**/ fd_topob_link ( topo , "snapin_ls" , "snapin_ls" , 256UL , sizeof (fd_snapshot_full_account_t ), 1UL );
@@ -836,12 +842,16 @@ fd_topo_initialize( config_t * config ) {
836842 FOR (snaplh_tile_cnt ) fd_topob_tile_out ( topo , "snaplh" , i , "snaplh_lv" , i );
837843 /**/ fd_topob_tile_in ( topo , "snaplv" , 0UL , "metric_in" , "snapwm_lv" , 0UL , FD_TOPOB_RELIABLE , FD_TOPOB_POLLED );
838844 FOR (snaplh_tile_cnt ) fd_topob_tile_in ( topo , "snaplv ", 0UL, " metric_in ", " snaplh_lv ", i, FD_TOPOB_RELIABLE, FD_TOPOB_POLLED );
839- /**/ fd_topob_tile_out( topo, " snaplv ", 0UL, " snaplv_wr ", 0UL );
840- FOR (snapwr_tile_cnt ) fd_topob_tile_in ( topo , "snapwr" , i , "metric_in" , "snaplv_wr" , 0UL , FD_TOPOB_RELIABLE , FD_TOPOB_POLLED );
841845 /**/ fd_topob_tile_out( topo, " snaplv ", 0UL, " snaplv_ct ", 0UL );
842846 /**/ fd_topob_tile_out( topo, " snapwm ", 0UL, " snapwm_lv ", 0UL );
843847 /**/ fd_topob_tile_in ( topo, " snapct ", 0UL, " metric_in ", " snaplv_ct ", 0UL, FD_TOPOB_RELIABLE, FD_TOPOB_POLLED );
844- FOR (snapwr_tile_cnt ) fd_topob_tile_uses ( topo , & topo -> tiles [ fd_topo_find_tile ( topo , "snapwr" , i ) ], & topo -> objs [ topo -> links [ fd_topo_find_link ( topo , "snaplv_wr" , 0UL ) ].mcache_obj_id ], FD_SHMEM_JOIN_MODE_READ_WRITE );
848+
849+ fd_topo_obj_t * vinyl_admin_obj = setup_topo_vinyl_admin ( topo , "vinyl_admin" );
850+ /**/ fd_topob_tile_uses ( topo , & topo -> tiles [ fd_topo_find_tile ( topo , "snapwm" , 0UL ) ], vinyl_admin_obj , FD_SHMEM_JOIN_MODE_READ_WRITE );
851+ FOR (snapwr_tile_cnt ) fd_topob_tile_uses ( topo , & topo -> tiles [ fd_topo_find_tile ( topo , "snapwr" , i ) ], vinyl_admin_obj , FD_SHMEM_JOIN_MODE_READ_WRITE );
852+ /**/ fd_topob_tile_uses ( topo , & topo -> tiles [ fd_topo_find_tile ( topo , "snaplv" , 0UL ) ], vinyl_admin_obj , FD_SHMEM_JOIN_MODE_READ_WRITE );
853+ FOR (snaplh_tile_cnt ) fd_topob_tile_uses ( topo , & topo -> tiles [ fd_topo_find_tile ( topo , "snaplh" , i ) ], vinyl_admin_obj , FD_SHMEM_JOIN_MODE_READ_WRITE );
854+ FD_TEST ( fd_pod_insertf_ulong ( topo -> props , vinyl_admin_obj -> id , "vinyl_admin" ) );
845855 } else {
846856 fd_topob_tile_out ( topo , "snapin" , 0UL , "snapin_ls" , 0UL );
847857 FOR (lta_tile_cnt ) fd_topob_tile_in ( topo , "snapla ", i, " metric_in ", " snapdc_in ", 0UL, FD_TOPOB_RELIABLE, FD_TOPOB_POLLED );
@@ -1449,7 +1459,6 @@ fd_topo_configure_tile( fd_topo_tile_t * tile,
14491459
14501460 } else if ( FD_UNLIKELY ( !strcmp ( tile -> name , "snapwm" ) ) ) {
14511461
1452- tile -> snapwm .lthash_disabled = !!config -> development .snapshots .disable_lthash_verification ;
14531462 strcpy ( tile -> snapwm .vinyl_path , config -> paths .accounts );
14541463 tile -> snapwm .vinyl_meta_map_obj_id = fd_pod_query_ulong ( config -> topo .props , "accdb.meta_map" , ULONG_MAX );
14551464 tile -> snapwm .vinyl_meta_pool_obj_id = fd_pod_query_ulong ( config -> topo .props , "accdb.meta_pool" , ULONG_MAX );
@@ -1459,6 +1468,8 @@ fd_topo_configure_tile( fd_topo_tile_t * tile,
14591468 fd_topo_link_t * wm_wr_link = & config -> topo .links [ wm_wr_link_id ];
14601469 tile -> snapwm .snapwr_depth = wm_wr_link -> depth ;
14611470
1471+ tile -> snapwm .lthash_disabled = !!config -> development .snapshots .disable_lthash_verification ;
1472+
14621473 } else if ( FD_UNLIKELY ( !strcmp ( tile -> name , "snapwh" ) ) ) {
14631474
14641475 } else if ( FD_UNLIKELY ( !strcmp ( tile -> name , "snapwr" ) ) ) {
@@ -1469,6 +1480,8 @@ fd_topo_configure_tile( fd_topo_tile_t * tile,
14691480 fd_topo_link_t * wm_wr_link = & config -> topo .links [ wm_wr_link_id ];
14701481 tile -> snapwr .dcache_obj_id = wm_wr_link -> dcache_obj_id ;
14711482
1483+ tile -> snapwr .lthash_disabled = !!config -> development .snapshots .disable_lthash_verification ;
1484+
14721485 } else if ( FD_UNLIKELY ( !strcmp ( tile -> name , "snapla" ) ) ) {
14731486
14741487 } else if ( FD_UNLIKELY ( !strcmp ( tile -> name , "snapls" ) ) ) {
0 commit comments