B-trees are used by many file-systems to represent files and directories. They provide guarantied logarithmic time key-search, insert, and remove. File systems like WAFL and ZFS use shadowing, or copy-on-write, to implement snapshots, crash-recovery, write-batching and RAID. Serious difficulties arise when trying to use b-trees and shadowing in a single system. This paper is about a set of b-tree algorithms that respects shadowing, achieves good concurrency, and implements cloning (writeable-snapshots). Our cloning algorithm is efficient and allows the creation of a large number of clones. We believe that using our b-trees would allow shadowing file-systems to scale their on-disk data structures better
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.