If things seem a bit slow lately, it's because I've been primarily working on implementing the snapshot mechanism for the last few weeks. This is coming along pretty well: I can take snapshots and access snapshotted content. The interaction with recursive accounting has been tricky because delayed propagation means changes may propagate into recent snapshot as changes work their way up the hierarchy, but I think I have that one nailed.
Here's how it works: $ tar jxf ~/src/linux-2.6.24.tar.bz2 & [1] 18715 $ mkdir linux-2.6.24/.snap/1 # create a few snapshots $ mkdir linux-2.6.24/.snap/2 $ mkdir linux-2.6.24/.snap/3 $ kill %1 $ ls -al linux-2.6.24/.snap # see that dir sizes increased over time total 3 drwxr-xr-x 1 sage sage 1205808 Jul 24 10:23 ./ drwxr-xr-x 1 sage sage 1205808 Jul 24 10:23 ../ # live copy drwxr-xr-x 1 sage sage 1028511 Jul 24 10:23 1/ drwxr-xr-x 1 sage sage 1144455 Jul 24 10:23 2/ drwxr-xr-x 1 sage sage 1177913 Jul 24 10:23 3/ [1]+ Terminated tar jxf ~/src/linux-2.6.24.tar.bz2 $ ls linux-2.6.24/.snap/1/Documentation/ | wc 23 24 472 $ ls linux-2.6.24/.snap/3/Documentation/ | wc 32 33 680 Etc. The '.snap' hidden dir is accessible from anywhere (like .snapshot on a Netapp). Snapshots can be created for any directory at any time, however, and recursively apply to all nested content. Still left to do: - properly handle directory renames (which interact in interesting ways with the snapshot realm tree). - snapshot deletion - garbage collection (metadata and data) - update kernel client (I'm currently working just with the fuse client for faster prototyping) Yep! sage ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Ceph-devel mailing list Ceph-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ceph-devel