[email protected]
[Top] [All Lists]

[zfs-discuss] Send & Receive (and why does 'ls' modify a snapshot?)

Subject: [zfs-discuss] Send & Receive and why does 'ls' modify a snapshot?
From: Tony Galway
Date: Wed, 04 Feb 2009 08:35:43 PST
I am trying to keep a file system (actually quite a few) in sync across two 
systems for DR purposes, but I am encountering something that I find strange. 
Maybe its not strange, and I just don't understand - but I will pose to you 
fine people to help answer my question. This is all scripted, but I have pulled 
out the relevant commands for your reference:

I have a file system on localnode and I create a snapshot call "NMINUS1" which 
I then send to my remotenode. 

zfs snapshot GT/test@NMINUS1
zfs send GT/test@NMINUS1 | ssh remotenode zfs receive GT/test@NMINUS1

This works properly, I then get the mountpoint property of the filesystem on 
the localnode and using that, set it to the same on the remote node:

$mp = zfs get -Ho value mountpoint GT/test
ssh remotenode zfs set mountpoint=$mp GT/test

Again, works fine and this completes my inital setup.

>From that point onwards, I want to send an incremental snapshot on a, say, 
>nightly basis. So I create a new snapshot (NSNAP), send that across, and then 
>remove the old snap and rename the new to NMINUS1 ... so

zfs snapshot GT/test@NSNAP
zfs send -i NMINUS1 GT/test@NSNAP | ssh remotenode zfs receive GT/test

-- On both nodes
zfs destroy GT/test@NMINUS1
zfs rename GT/test@NSNAP GT/test@NMINUS1

Now everything works fine unless I perform a simple 'ls' on the filesystem on 
the remote node. On the local node I can modify the contents of GT/test at any 
time, add or remove files, etc. and when I send the incremental snapshot to the 
remote node, it completes properly, and I can do this as many times as I want, 
but as soon as I issue that 

# ls /GT/test

on the remote node, the next time I try to send an incremental snapshot I get 
the following error:

# zfs send -i NMINUS1 GT/test@NSNAP | ssh remotenode zfs receive GT/test

cannot receive incremental stream: destination GT/ahg has been modified
since most recent snapshot

Other than modifying possibly access time - what has been change in the 
snapshot that causes this problem?? One item of note (or not) one system is 
SPARC one is AMD based.

Thanks for any ideas.
This message posted from opensolaris.org
zfs-discuss mailing list

<Prev in Thread] Current Thread [Next in Thread>