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

Reply via email to