On October 6, 2006 2:34:36 PM -0700 Matthew Ahrens <[EMAIL PROTECTED]> wrote:
Frank Cusack wrote:
[EMAIL PROTECTED]:~]# zfs send -i export/zone/www/[EMAIL PROTECTED] 
export/zone/www/[EMAIL PROTECTED]
| ssh cookies zfs recv export/zone/www/html
cannot receive: destination has been modified since most recent snapshot
-- use 'zfs rollback' to discard changes

I was going to try deleting all snaps and start over with a new snap but
I thought someone might be interested in figuring out what's going on
here.

That should not be necessary!

I assume that you already followed the suggestion of doing 'zfs
rollback', and you got the same message after trying the incremental recv
again.  If not, try that first.

Yup, tried that.

There are a couple of things that could cause this.  One is that some
process is inadvertently modifying the destination (eg. by reading
something, causing the atime to be updated).  You can get around this by
making the destination fs readonly=on.

Another possibility is that you're hitting 6343779 "ZPL's delete queue
causes 'zfs restore' to fail".

In either case, you can fix the problem by using "zfs recv -F" which will
do the rollback for you and make sure nothing happens between the
rollback and the recv.  You need to be running build 48 or later to use
'zfs recv -F'.

If you can't run build 48 or later, then you can workaround the problem
by not mounting the filesystem in between the 'rollback' and the 'recv':

cookies# zfs set mountpoint=none export/zone/www/html
cookies# zfs rollback export/zone/www/[EMAIL PROTECTED]
milk# zfs send -i @4 export/zone/www/[EMAIL PROTECTED] | ssh cookies zfs recv
export/zone/www/html

Let me know if one of those options works for you.

Setting mountpoint=none works, but once I set the mountpoint option back
it fails again.  That is, I successfully send the incremental, reset the
mountpoint option, rollback and send and it fails.

So I guess there is a filesystem access somewhere somehow immediately after
the rollback.  I can't run b48 (any idea if -F will be in 11/06?).  What can
I do to find out what is changing the fs?  I notice that it takes about
5s for the USED column to change from 0 to non-0 on the snapshot, after
rollback, when doing it interactively.  However, I really do this via
a script which does a rollback then immediately does the send.  This script
always fails.  It's lucky if it takes 0.1s between rollback and send.

readonly=on doesn't help.  That is,

cookies# zfs set readonly=on export/zone/www/html
cookies# zfs rollback export/zone/www/[EMAIL PROTECTED]
milk# zfs send ...
 ... destination has been modified ...

-frank
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to