Lots of interesting ideas in this thread. But the practical of things is that there is a need for thin volumes that are over provisioned. Call it a lie if you must, but I want to have multiple snapshots, and not be forced to have 10X the storage, just so that I can *guarantee* that I will have the technical capability to fully allocate every snapshot without running out of space. This is for my requirements, where I am not being naive or irresponsible. I'm not representing the situation to myself. I know exactly what to expect, and I know that it isn't only important to monitor, but it is also important to understand the usage patterns. For example, in some of our use cases, files will only normally be extended or created as new, at which point the overhead of a snapshot is close to zero. If people find this model unacceptable, then I think they should not use thin volumes. It's a technology choice. We have many systems like this beyond LVM... For example, the NetApp FAS devices we have are set up with this type of model, and IT normally allocates 10% or more for "snapshots", and when we get this wrong, it does hurt in various ways, usually requiring that the snapshots get dumped, and that we figure out why the monitoring failed. Normally, IT adds to the aggregate as it passes a threshold. In the particular case that is important for me - we have a fixed size local SSD for maximum performance, and we still want to take frequent snapshots (and prune them behind), similar to what we do on NetApp, but all in the context of local storage. I don't use the word "lie" to IT in these cases. It's a partnership, and attempt to make the most use of the storage and the technology. There was some discussion about how data is presented to the higher layers. I didn't follow the suggestion exactly (communicating layout information?), but I did have these thoughts: 1. When the storage runs out, it clearly communicates layout information to the caller in the form of a boolean "does it work or not?" 2. There are other ways that information does get communicated, such as if a device becomes read only. For example, an iSCSI LUN. I didn't follow communication of specific layout information as this didn't really make sense to me when it comes to dynamic allocation. But, if the intent is to provide early warning of the likelihood of failure, compared to waiting to the very last minute where it has already failed, it seems like early warning would be useful. I did have a question about the performance of this type of communication, however, as I wouldn't want the host to be constantly polling the storage to recalculate the up-to-date storage space available.