Exercise 1: Why LVM Snapshots Need a Reserved Size and Btrfs/ZFS Snapshots Don't — Possible Solution ==================================================================== Explanation: Per the chapter, Btrfs and ZFS snapshots are "implemented inside the filesystem itself, which natively understands blocks being shared between a subvolume/dataset and its snapshots." The filesystem itself manages the pool of free space that both the live data and every snapshot draw from as needed -- when a snapshot and its origin diverge, the filesystem simply allocates new blocks from that shared pool for whichever side changed, growing the space actually consumed by the snapshot's own divergent data dynamically, on demand, out of the filesystem's normal free space. LVM snapshots work completely differently, per the chapter: "a genuinely different mechanism, working one layer below the filesystem -- the filesystem sitting on top has no idea a snapshot even exists." Because the filesystem itself is unaware anything snapshot-related is happening, LVM cannot rely on the filesystem's own free-space management to dynamically grow the snapshot's storage as needed. Instead, LVM creates the snapshot as a distinct, separate logical volume with its own fixed capacity, decided at creation time, used purely to store the old contents of blocks that get overwritten on the origin afterward. Since this snapshot volume's own size is fixed at creation and LVM has no mechanism to grow it automatically as more blocks change, that size has to be reserved in advance based on how many changes are anticipated during the snapshot's lifetime. This is the direct consequence of WHERE each mechanism operates: a filesystem-level snapshot can lean on the filesystem's own dynamic free-space pool; a block-layer snapshot, invisible to the filesystem above it, cannot, and must instead pre-allocate its own fixed space. WHY THIS WORKS AS AN ANSWER ------------------------------ This explains the structural cause (filesystem-aware dynamic sharing vs. filesystem-blind fixed pre-allocation) rather than simply restating that one is "dynamic" and the other is "fixed" as an unexplained fact.