Implement Extent_Block_Map for ext4 extents
diff --git a/src/filo-fs-ext2.ads b/src/filo-fs-ext2.ads
index 90c1ae6..13e23f8 100644
--- a/src/filo-fs-ext2.ads
+++ b/src/filo-fs-ext2.ads
@@ -62,6 +62,9 @@
Direct_Blocks : constant := 12;
type Direct_Blocks_Array is array (Natural range 0 .. Direct_Blocks - 1) of Unsigned_32;
+ -- Same as the 12 direct + 3 indirect blocks times 4B:
+ subtype Inode_Extents_Index is Natural range 0 .. 59;
+
subtype Inode_Size is Positive range 128 .. Positive (Unsigned_16'Last);
subtype Desc_Size is Positive range 32 .. Positive (Unsigned_16'Last);
@@ -79,6 +82,7 @@
Indirect_Block : Unsigned_32 := 0;
Double_Indirect : Unsigned_32 := 0;
Triple_Indirect : Unsigned_32 := 0;
+ Inode_Extents : Buffer_Type (Inode_Extents_Index) := (others => 16#00#);
Block_Cache_Index : Block_Cache_Type := (others => 0);
Block_Cache : Buffer_Type (Max_Block_Index) := (others => 16#00#);
end record;