https://bugzilla.redhat.com/show_bug.cgi?id=827808

            Bug ID: 827808
        QA Contact: extras...@fedoraproject.org
          Severity: medium
           Version: rawhide
          Priority: medium
                CC: nott...@redhat.com,
                    package-review@lists.fedoraproject.org
          Assignee: nob...@fedoraproject.org
           Summary: Review Request: python-larch - Python B-tree library
        Regression: ---
      Story Points: ---
    Classification: Fedora
                OS: Linux
          Reporter: michel+...@sylvestre.me
              Type: ---
     Documentation: ---
          Hardware: All
        Mount Type: ---
            Status: NEW
         Component: Package Review
           Product: Fedora

Spec URL: http://salimma.fedorapeople.org/specs/admin/python-larch.spec
SRPM URL:
http://salimma.fedorapeople.org/specs/admin/python-larch-1.20120527-1.fc17.src.rpm
Description:
This is an implementation of particular kind of B-tree, based on
research by Ohad Rodeh. See "B-trees, Shadowing, and Clones" (copied
here with permission of author) for details on the data
structure. This is the same data structure that btrfs uses. Note that
my implementation is independent from the btrfs one, and might differ
from what the paper describes.

The distinctive feature of this B-tree is that a node is never
modified (sort-of). Instead, all updates are done by
copy-on-write. Among other things, this makes it easy to clone a tree,
and modify only the clone, while other processes access the original
tree. This is utterly wonderful for my backup application, and that's
the reason I wrote larch in the first place.

I have tried to keep the implementation generic and flexible, so that
you may use it in a variety of situations. For example, the tree
itself does not decide where its nodes are stored: you provide a class
that does that for it. I have two implementations of the NodeStore
class, one for in-memory and one for on-disk storage.

The tree attempts to guarantee this: all modifications you make will
be safely stored in the node store when the larch.Forest.commit method
is called. After that, unless you actually modify the committed tree
yourself, it will be safe from further modifications. (You need to
take care to create a new tree for further modifications, though.)

Fedora Account System Username: salimma

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
package-review mailing list
package-review@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/package-review

Reply via email to