• Mike Hibler's avatar
    Implement "plan 1" for dataset sharing: "ephemeral RO snapshots". · 7aefdaa1
    Mike Hibler authored
    You can now simultaneously RW and RO map a dataset because all the RO
    mappings use copies (clones) of a snapshot. Only a single RW mapping
    of course.
    
    When the RW mapping swaps out it automatically creates a new snapshot.
    So there is currently no user control over when a version of the dataset
    is "published", it just happens everytime you swapout an experiment with
    a RW mapping.
    
    A new RW mapping does not affect current RO mappings of course as they
    continue to use whatever snapshot they were created with. New RO mappings
    with get the most recent snapshot, which we currently track in the DB via
    the per-lease attribute "last_snapshot".
    
    You can also now declare a lease to be "exclusive use" by setting the
    "exclusive_use" lease attribute (via modlease). This means that it follows
    the old semantics of only one mapping at a time, whether it be RO or RW.
    This is an alternative to the "simultaneous_ro_datasets" sitevar which
    enforces the old behavior globally. Primarily, I put this attribute in to
    prevent an unexpected failure in the snapshot/clone path from wreaking
    havoc over time. I don't know if there is any value in exposing this to
    the user.
    7aefdaa1
Name
Last commit
Last update
..
centos6 Loading commit data...
common Loading commit data...
cygwinseven Loading commit data...
cygwinxp Loading commit data...
dp Loading commit data...
fedora Loading commit data...
fedora15 Loading commit data...
freebsd Loading commit data...
freebsd10 Loading commit data...
freebsd5 Loading commit data...
freebsd6 Loading commit data...
freebsd7 Loading commit data...
freebsd9 Loading commit data...
freenas8 Loading commit data...
freenas9 Loading commit data...
linux Loading commit data...
linux-ms Loading commit data...
linux-sg Loading commit data...
linux9 Loading commit data...
openbsd Loading commit data...
plab Loading commit data...
ron Loading commit data...
ubuntu10 Loading commit data...
ubuntu11 Loading commit data...
ubuntu14 Loading commit data...
ubuntu7 Loading commit data...
widearea Loading commit data...
GNUmakefile.in Loading commit data...
dostype.c Loading commit data...
findif.c Loading commit data...
osstuff.sh Loading commit data...
tdd.c Loading commit data...
tmcc.c Loading commit data...