Also, change the logic for the segment walk to not rely on the total size. cp does not use the total size either, and we miss bugs by cheating!
Utility and libs to find hole/data segments using lseek.