mirror of
https://github.com/versity/scoutfs.git
synced 2026-02-13 05:51:07 +00:00
The transaction writing thread tests if the manifest and alloc treaps are dirty. It did this by testing if there were any dirty nodes in the treap. But this misses the case where the treap has been modified and all nodes have been removed. In that case the root references no dirty nodes but needs to be written. Instead let's specifically mark the treap dirty when it's modified. From then on sync will always try to write it out. We also integrate updating the persistent root as part of writing the dirty nodes to the persistent ring. It's required and every caller did it so it was silly to make it a separate step. Signed-off-by: Zach Brown <zab@versity.com>