Rewrites the file persistor syncing to be run on a timer with a mutex to guard operations reading/writing the file system. The bug was that each operation (persist, clear, etc) was blocking on the sync running, making the sync to operation ratio 1:1. This was not the intention of the sync throttling, it is meant to allow as many operations to run as are scheduled, but then block them when the sync timer fires so that it can sync to the system and then resume running operations.
Rewrites the file persistor syncing to be run on a timer with a mutex to guard operations reading/writing the file system. The bug was that each operation (persist, clear, etc) was blocking on the sync running, making the sync to operation ratio 1:1. This was not the intention of the sync throttling, it is meant to allow as many operations to run as are scheduled, but then block them when the sync timer fires so that it can sync to the system and then resume running operations.