Hi, thanks for your great work.

I've writing a FUSE driver that presents a damaged drive as a file that's
copy-on-read: any reads to the file are checked against a mapfile; if they
have already been read the data is returned immediately from the ddrescue
image file, if not, ddrescue is invoked on the requested sectors, and then
the data is returned from the image file.

Understandably, invoking ddrescue on every read is very inefficient
(parsing arguments, loading the mapfile, logging, etc.).

I've looked through the source code to see where I can 'hook' in to an
existing rescuebook and rescue parts of the file on demand.

I see that the constructor for Mapbook calls:

    split_by_domain_borders( domain_ );

which seems to limit the mapfile sblock_vector to blocks in the domain.
When updating the original mapfile, how/where are these blocks merged into
the entire (pre-domain) mapfile? The code in update_mapfile seems the write
just the existing (domain-limited) sblock_vector?

Thanks,

E. Saks
_______________________________________________
Bug-ddrescue mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-ddrescue

Reply via email to