I think you’re misunderstanding that 10 second wake up process. Dumps are not taken every 10 seconds, but once a day. See this part of the paper, slightly above:
The Cwrite and Cdirty blocks are created and never removed. Unless something is done to convert these blocks, the c-device will gradually fill up and stop functioning. Once a day, or by command, a dump of the cw-device is taken. The purpose of a dump is to queue the writes that have been shunted to the c-device to be written to the w-device. Since the w-device is a WORM, blocks cannot be rewritten. Blocks that have already been written to the WORM must be relocated to the unused portion of the w-device. These are precisely the blocks withCwrite state. The process that wakes every 10 seconds is for walking through the queue of blocks that are to be written to the worm, but it doesn’t do anything to look at files you are working with; it doesn’t add anything to that queue. That only happens once a day. Fossil allows you to change the frequency, but starts off at once a day, too. > On Feb 22, 2025, at 04:15, tlaro...@kergis.com wrote: > > WORM is a great idea, allowing to store only the diff and to be > able to version is a bonus. > > But there is one drawback: when one is modifying rapidly a file > (tentatives), it can spoil the worm with useless modifications. > > The fossil snapshots were a solution (allowing to "commit" on demand). > > From https://9p.io/sys/doc/fs/fs.html, the copying of modifications > from fscache to buffer (scp) as well as the copying of the buffer > to the WORM (wcp) is done every ten seconds. > > Is there a way, from userland, to modify the frequency of the > scp and wcp depending on the binding name? > > Has someone attempted to build a stack of other and fscache, so that > the writable upper level (other) is used as a chalkboard and, when the > user is satisfied with the tentative file, he can "commit" this > "minute" (sketch) to the fscache---letting then the normal procedures > register the differences in the WORM? > > Related: when using git, git by itself has the registration of the > modifications. So the .git could be put in fscache, but the current > copy should be in other. Is there a way to achieve this---if I > understand correctly (I may not), gitfs serves the .git hierarchy but > is not creating as an artefact the working directory, making the > branch appear, and overwriting with locally modified not committed > files? (Hoping my sort of English is sufficiently understandable...) > -- > Thierry Laronde <tlaronde +AT+ kergis +dot+ com> > http://www.kergis.com/ > http://kertex.kergis.com/ > Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T5a27390f138b4be1-M87462c35a62b31296165971c Delivery options: https://9fans.topicbox.com/groups/9fans/subscription