Well, read and write operations are working on intervals, and those
intervals have a lower and an upper endpoint.
If we simply rounded them both down to the nearest physical sector bounds,
everything would work perfectly:
Physical sectors:
[========][========][========][========][========][========][========]
Aligned (no change):
[--requested--------)
[--floor()-ed-------)
__________[========][========]________________________________________
|
[--requested--------)
[--floor()-ed-------)
______________________________[========][========]____________________
Not-aligned:
[--requested------)
[--floor()-ed-------) |
__________[========][========]________________________________________
|
[--requested-------)
[--floor()-ed-------)
______________________________[========][========]____________________
-------------------------------------------------
Externet Webmail: http://webmail.externet.hu
_______________________________________________
Bug-ddrescue mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-ddrescue