[linux-lvm] Can read/write snapshots be modified while the original is being modied

Stuart D. Gathman stuart at bmsi.com
Tue Mar 23 00:47:42 UTC 2010

On Mon, 22 Mar 2010, Hyatt, Gilbert wrote:

> We are tried to do patch testing.  
> We want to snapshot an OS, continue to run on the original OS, while
> installing patches and testing the snapshot.

I do that all the time.  It works fine.

> In the FAQ it says:
> Read/write snapshots work like read-only snapshots, with the additional
> feature that if data is written to the snapshot, that block is marked in the
> exception table as used, and never gets copied from the original volume.


> Can I get into trouble by change the same blocks in the original and in the
> snapshot?  If there is only one exception list, who wins?

The exception list is only used by the snapshot.  When reading the
snapshot volume, blocks come from the origin - except where noted in
the exception list.  When writing to the origin, a new exception
entry is added if there isn't one already and the block copied to the
snapshot.  When writing to the snapshot, a new exception entry is added
if there isn't one already, but the block is *not* copied from the origin.

> If I am changing blocks in both, can I come up with and inconsistent file
> system in the snapshot?

No.  Unless you are talking about race conditions, and then the answer
is still "no - unless there is a bug".

One thing you want to avoid (until shared snapshots are mainstream) is
multiple snapshots for the same origin.  This works, but is slow.

	      Stuart D. Gathman <stuart at bmsi.com>
    Business Management Systems Inc.  Phone: 703 591-0911 Fax: 703 591-6154
"Confutatis maledictis, flammis acribus addictis" - background song for
a Microsoft sponsored "Where do you want to go from here?" commercial.

More information about the linux-lvm mailing list