Blocks from an old lease can be still be written, and will be GCed when the volume gets used again. Until then, there's a window where there are some blocks from an unacknowledged timeline that haven't been cleaned. It's cruft.
This also shows up when using snapshots. Rolling back to a previous snap, currently, means that all the data written since the rollback is still live, until the rolled-back volume is used.
These can be solved separately or together. Snaps, for instance, can mint a new inode with all the old data referenced, thus invalidating the interim data.
Together would be some way of marking high/low water on disconnect, such that information is left for the GC when the metadata operation completes.
Follow up to #230.
Blocks from an old lease can be still be written, and will be GCed when the volume gets used again. Until then, there's a window where there are some blocks from an unacknowledged timeline that haven't been cleaned. It's cruft.
This also shows up when using snapshots. Rolling back to a previous snap, currently, means that all the data written since the rollback is still live, until the rolled-back volume is used.
These can be solved separately or together. Snaps, for instance, can mint a new inode with all the old data referenced, thus invalidating the interim data.
Together would be some way of marking high/low water on disconnect, such that information is left for the GC when the metadata operation completes.