@@ -141,6 +141,7 @@ pub const EXTENT_META_SQLITE: u32 = 1;
141141///
142142/// See [`extent_inner_raw::RawInner`] for the implementation.
143143pub const EXTENT_META_RAW : u32 = 2 ;
144+ pub const EXTENT_META_RAW_V2 : u32 = 3 ;
144145
145146impl ExtentMeta {
146147 pub fn new ( ext_version : u32 ) -> ExtentMeta {
@@ -445,6 +446,11 @@ impl Extent {
445446 dir, def, number, read_only, log,
446447 ) ?)
447448 }
449+ EXTENT_META_RAW_V2 => {
450+ Box :: new ( extent_inner_raw_v2:: RawInnerV2 :: open (
451+ dir, def, number, read_only, log,
452+ ) ?)
453+ }
448454 i => {
449455 return Err ( CrucibleError :: IoError ( format ! (
450456 "raw extent {number} has unknown tag {i}"
@@ -507,9 +513,13 @@ impl Extent {
507513 remove_copy_cleanup_dir ( dir, number) ?;
508514
509515 let inner: Box < dyn ExtentInner + Send + Sync > = match backend {
516+ #[ cfg( any( test, feature = "integration-tests" ) ) ]
510517 Backend :: RawFile => {
511518 Box :: new ( extent_inner_raw:: RawInner :: create ( dir, def, number) ?)
512519 }
520+ Backend :: RawFileV2 => Box :: new (
521+ extent_inner_raw_v2:: RawInnerV2 :: create ( dir, def, number) ?,
522+ ) ,
513523 #[ cfg( any( test, feature = "integration-tests" ) ) ]
514524 Backend :: SQLite => Box :: new (
515525 extent_inner_sqlite:: SqliteInner :: create ( dir, def, number) ?,
0 commit comments