On Wed, 2 Dec 2009 19:05:15 +0000 Chris Webb <chris at arachsys.com> wrote: > Incidentally, I had assumed the requirement for btrfs is because you use > BTRFS_IOC_CLONE for copy-on-write behaviour to get cheap atomic updates in > the same way I was doing in my block store. I can't see this being called at > any point in store.c though. Which btrfs features are we actually using in > sheepdog at the moment? We need the data of a single write system call to be applied to a super object in the "all or nothing" way (I assume BTRFS does but it does not?). We don't need to update multiple objects (files) stored on a single machine atomically for now (I assume we can use BTRFS_IOC_TRANS_START for this). I guess that it takes some time until BTRFS matures so we've been thinking about other options. One is using Berkeley DB for a super object. |