Coda File System

a Coda-like functionality in to-be-HAMMER2?

From: <u-codalist-tccc_at_aetey.se>
Date: Sun, 29 Apr 2012 18:06:20 +0000
Hi,

The background to this letter:

- thoughts of the future of Coda (as an extremely useful data
  management tool - yet with a community below the "sustain
  threshold")

- reading a document which outlines the design of the Dragonfly's HAMMER2
  file system:

 http://leaf.dragonflybsd.org/mailarchive/users/2012-02/msg00020.html

- the example of ZFS which shows that crossing the layer boundaries
  (in its case not relying on the traditional disk->volume->filesystem
  layers) may lead to an efficient and manageable design.

It looks like Matthew Dillon tries to (re)implement Coda-like features
with a different starting point but with somewhat similar goals.

I wonder if it would be feasible to connect the knowledge present in the
two projects together? Hypothetically this might lead to a system
efficient both as a local and a distributed file system.

The precursor to HAMMER2, HAMMER1 is primarily a local storage system,
while Coda developed gradually from being aware of the local storage
implementation towards full abstraction from it (which was quite
natural as the local file systems hardly shared any common properties
and structures with Coda).

What would the developers of the original Coda concepts say about the
feasibility to combine Coda with a certain local storage structure (where
important functions may be present readily, in contrast to the Posix API)?

What if Coda algorithms could be applied to the task of maintaining
HAMMER2 inter-node consistency? Then the additional logic for the
(crucially non-Posix) access control might be not too alien for being
included there as well.

The document mentioned above says among others:

"* Fully cache coherent and synchronized multi-master environment with
  passive read locking and slave-only nodes.

    This is the MOST complex form of clustering we intend to support.
    In a multi-master environment requiring a quorum of masters to operate
    we implement all of the above plus ALSO allow additional nodes to be
    added to the cluster as slave-only nodes."

Any thoughts about this? Anyone besides myself who feels that talking
to Matthew might be sound, from the technical point of view?

Regards,
Rune
Received on 2012-04-29 14:17:17