@@ -708,19 +708,21 @@ impl Bootstrap {
708
708
Self :: v6_align_to_4k ( bootstrap_ctx) ?;
709
709
710
710
// `Node` offset might be updated during above inodes dumping. So `get_prefetch_table` after it.
711
- let prefetch_table = ctx
712
- . prefetch
713
- . get_v6_prefetch_table ( & bootstrap_ctx. nodes , meta_addr) ;
714
- if let Some ( mut pt) = prefetch_table {
715
- assert ! ( pt. len( ) * size_of:: <u32 >( ) <= prefetch_table_size as usize ) ;
716
- // Device slots are very close to extended super block.
717
- ext_sb. set_prefetch_table_offset ( prefetch_table_offset) ;
718
- ext_sb. set_prefetch_table_size ( prefetch_table_size) ;
719
- bootstrap_ctx
720
- . writer
721
- . seek_offset ( prefetch_table_offset as u64 )
722
- . context ( "failed seek prefetch table offset" ) ?;
723
- pt. store ( bootstrap_ctx. writer . as_mut ( ) ) . unwrap ( ) ;
711
+ if prefetch_table_size > 0 {
712
+ let prefetch_table = ctx
713
+ . prefetch
714
+ . get_v6_prefetch_table ( & bootstrap_ctx. nodes , meta_addr) ;
715
+ if let Some ( mut pt) = prefetch_table {
716
+ assert ! ( pt. len( ) * size_of:: <u32 >( ) <= prefetch_table_size as usize ) ;
717
+ // Device slots are very close to extended super block.
718
+ ext_sb. set_prefetch_table_offset ( prefetch_table_offset) ;
719
+ ext_sb. set_prefetch_table_size ( prefetch_table_size) ;
720
+ bootstrap_ctx
721
+ . writer
722
+ . seek_offset ( prefetch_table_offset as u64 )
723
+ . context ( "failed seek prefetch table offset" ) ?;
724
+ pt. store ( bootstrap_ctx. writer . as_mut ( ) ) . unwrap ( ) ;
725
+ }
724
726
}
725
727
726
728
// TODO: get rid of the chunk info array.
0 commit comments