Ticket #40 (assigned enhancement)
Alternative approach to tracking free blocks in btrees
| Reported by: | olly | Owned by: | olly |
|---|---|---|---|
| Priority: | low | Milestone: | |
| Component: | Backend-Chert | Version: | SVN trunk |
| Severity: | minor | Keywords: | |
| Cc: | Blocked By: | ||
| Operating System: | All | Blocking: |
Description (last modified by olly) (diff)
Use chains of free blocks rather than a bitmap - then we can store many old revisions more cheaply (just the space they actually need, not a whole bitmap for each one too). Then readers use fcntl locking on a single byte corresponding to the revision they're using (bytes off the end of the file can be locked, and shared locks on read-only files are ok). Then a writer would only delete old revisions for which it could obtain an exclusive lock (otherwise it would preserve them).
The Btree manager is generally written with multiple old revisions in mind, so this shouldn't be a huge project.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.
