mirror of
https://github.com/versity/scoutfs.git
synced 2026-01-07 04:26:29 +00:00
The _since ioctls walk btrees and return items that are newer than a given sequence number. The intended behaviour is that items will appear in a greater sequence number if they change after appearing in the queries. This promise doesn't hold for items that are being modified in the current transaction. The caller would have to always ask for seq X + 1 after seeing seq X to make sure it got all the changes that happened in seq X while it was the current dirty transaction. This is fixed by having the interfaces walk the stable btrees from the previous transaction. The results will always be a little stale but userspace already has to deal with stale results because it can't lock out change, and it can use sync (and a commit age tunable we'll add) to limit how stale the results can be. Signed-off-by: Zach Brown <zab@versity.com>