>Then you can't delete an older snapsnot until you delete all newer ones. Not true of what I was proposing - are we talking past each other? If snap 0 is the current (live) COW, and snap -k refers to time(-k) = time(snap 0) - k*(interval), then reading the virtual data for time(-k) involves looking at snap -k, then snap -k+1, ... snap 0, current data; but stopping the first time your block gets a hit. The only point with a race is {snap 0, current data}. So you can't delete a NEWER snapshot until you delete all OLDER ones (because the virtual older snaps need the newer COWs). That seems a small price to pay, since normally you throw them away oldest first. Larry On 4/24/08, Stuart D. Gathman wrote: > > On Thu, 24 Apr 2008, Larry Dickson wrote: > > > There's an almost trivial variant on this, where you keep the > > (read-only) snapshots in a time-ordered sequence, and freeze the last > > snapshot COW at the same moment as you start the next snapshot. Then > writing > > only ever hits the new snapshot COW, and reading from any older snapshot > > (virtual) volume involves figuring out which is the first after that to > hold > > the block, but still involves reading only one block. I wonder why LVM > does > > not do this. Perhaps Zumastor does? Or somebody else? > > Then you can't delete an older snapsnot until you delete all newer ones. > > Zumastor works by using one COW table shared between all snapshots > for a volume. Blocks are added to the COW in time order. The origin > ignores COW blocks before the last time point (block offset), writing a > new COW > block for any modified since that time point. The snapshots also use > timepoints in a way that is straightforward, but I don't want to think > about it at the moment :-) > > -- > Stuart D. Gathman > Business Management Systems Inc. Phone: 703 591-0911 Fax: 703 591-6154 > "Confutatis maledictis, flammis acribus addictis" - background song for > a Microsoft sponsored "Where do you want to go from here?" commercial. > > _______________________________________________ > linux-lvm mailing list > linux-lvm@redhat.com > https://www.redhat.com/mailman/listinfo/linux-lvm > read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/ >