From mboxrd@z Thu Jan 1 00:00:00 1970 To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> In-reply-to: Your message of "Fri, 14 Jan 2011 14:13:48 EST." References: <4D2F5B74.5070908@gmail.com> <4D2F6345.4020408@gmail.com> <87lj2ofl58.wl%john@profusion.lvoc.net> <4D2FCB0D.6010800@gmail.com> <20110114181444.4910A5C04@mail.bitblocks.com> From: Bakul Shah Date: Fri, 14 Jan 2011 12:44:59 -0800 Message-Id: <20110114204459.8048F5C25@mail.bitblocks.com> Subject: Re: [9fans] Plan9 topology Topicbox-Message-UUID: 98aa3fd0-ead6-11e9-9d60-3106f5b1d025 On Fri, 14 Jan 2011 14:13:48 EST erik quanstrom wrote: > > > > Not in the sense that you can purge specific files you don't > > > > want and continue using the same venti. But you can do what a > > > > copying garbage collector does -- it copies all the data > > > > *reachable* from the data `roots' (a set of objects you know > > > > you want). What is left behind is considered garbage and can > > > > be recycled. > > > > > > that's wrong. there is no such function. > > > > Huh? I am just described what copying garbage collection > > does. If you mean you can't do something similar with venti, > > think about it! > > what i understood the op to mean was that venti arenas are > garbage collectable. this is not true. arenas are write once, > so it follows they must be impossible to garbage collect. You can't delete specific files from a given venti as we know. When Duke wrote "purge what isn't needed" I assumed he was talking about a common use case, where one keeps frequent backups of the recent past and less and less frequent backups of points further back in time. [For instance, at $work they keep daily backups for a week, weeklies for a month, monthlies for a quarter and so on.] This can be simulated with venti by periodically running venti/copy $srcventi $dstventi $rootscore using root score for each of the backups of interest. Once they are all copied, srcventi has nothing of interest that is not already copied so now it can be "emptied out" and reused. This is exactly like a copying GC. Whether doing this makes sense is a separate question.