# `Hyper.SuidHelper.ThinDump`
[🔗](https://github.com/harmont-dev/hyper/blob/main/lib/hyper/suid_helper/thin_dump.ex#L1)

Extract a thin device's provisioned-range map from the pool's metadata, via
the setuid helper's `thin-dump` tool (thin-provisioning-tools). Only valid
while the pool's metadata snapshot is reserved — see
`Hyper.Node.Img.ThinPool.mappings/1`, the sole intended caller.

# `err`

```elixir
@type err() :: Hyper.SuidHelper.err()
```

# `mappings`

```elixir
@spec mappings(Path.t(), non_neg_integer()) ::
  {:ok, %{block_sectors: pos_integer(), ranges: [[non_neg_integer()]]}}
  | {:error, err()}
```

Provisioned `[begin, length]` ranges of thin device `dev_id` in pool blocks,
plus the pool block size in 512-byte sectors — the shape
`Hyper.SuidHelper.Blockcopy.copy/3` consumes verbatim as `ranges_spec`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
