<div dir="ltr"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Could you say more about why you want to do this?<br></blockquote><div><br></div><div>So that I can directly read the data block without having to pass through dm-thin, e.g. there might be a more direct datapath to the physical block device.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Mappings don't change if you're not using snapshots. If you are, then any write<br>
to a shared block will trigger a copy on write operation, and subsequently a new<br>
mapping.</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">So for backups etc. I made the metadata snapshot available, which gives you a<br>
view of all the metadata frozen at a point in time. If you're using the metadata<br>
snap you still need to guarantee the mappings for the devices that you're interested<br>
in are not changing. eg, instead of backing up a live thin, take a snapshot of the thin<br>
and back this up instead.<br></blockquote><div><br></div><div>For now I can guarantee that these mappings don't change (no snapshots, backups, etc), so it's safe to extract the mapping(s) without having acquired the meradata snapshot, correct? If this is the case, then how can I extract individual mappins? (Either from kernel space or from user space.) Are there specific dm-thin kernel functions I should start looking at?</div></div></div>