The blocks stored in block maps usually have big contiguous ranges. They may also have holes (represented by zero indices). It might make sense to rework file block iteration so that it always exposes an extents based interface, even if the underlying file uses block maps. This could be more efficient, but more importantly makes ext2 holes more natural to represent.
The blocks stored in block maps usually have big contiguous ranges. They may also have holes (represented by zero indices). It might make sense to rework file block iteration so that it always exposes an extents based interface, even if the underlying file uses block maps. This could be more efficient, but more importantly makes ext2 holes more natural to represent.