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
Bug-ddrescue@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-ddrescue

Reply via email to