Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Oct 2010 08:54:08 -0400
From:      "Dan Langille" <dan@langille.org>
To:        "Ruben de Groot" <mail25@bzerk.org>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: 'zfs send -i': destination has been modified
Message-ID:  <40c67a2c91813d90fa4a3dafb8604db1.squirrel@nyi.unixathome.org>
In-Reply-To: <20101020124434.GA41365@ei.bzerk.org>
References:  <c00184baaf75b1e64e625a0b9dfb97b4.squirrel@nyi.unixathome.org> <20101020124434.GA41365@ei.bzerk.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Wed, October 20, 2010 8:44 am, Ruben de Groot wrote:
> On Wed, Oct 20, 2010 at 08:32:33AM -0400, Dan Langille typed:
>> I am trying to do a 'zfs send -i' and failing.
>>
>> This is my simple proof of concept test:
>>
>> Create the data
>> # zfs create storage/a
>> # touch /storage/a/1
>> # touch /storage/a/2
>> # touch /storage/a/3
>>
>> Snapshot
>> # zfs snapshot storage/a@2010.10.19
>>
>> send
>> # zfs send storage/a@2010.10.19 | zfs receive -v storage/compressed/a
>> receiving full stream of storage/a@2010.10.19 into
>> storage/compressed/a@2010.10.19
>> received 252KB stream in 2 seconds (126KB/sec)
>> #
>>
>>
>>
>> Create one more file and snapshot that
>>
>> # touch /storage/a/4
>> # zfs snapshot storage/a@2010.10.20
>>
>>
>> send it
>>
>> # zfs send -i storage/a@2010.10.19  storage/a@2010.10.20 | zfs receive
>> -v
>> storage/compressed/a
>> receiving incremental stream of storage/a@2010.10.20 into
>> storage/compressed/a@2010.10.20
>> received 250KB stream in 3 seconds (83.4KB/sec)
>>
>> What do we have?
>>
>> # find /storage/compressed/a
>> /storage/compressed/a
>> /storage/compressed/a/1
>> /storage/compressed/a/2
>> /storage/compressed/a/3
>> /storage/compressed/a/4
>>
>>
>> Of note:
>>
>> * FreeBSD 8.1-STABLE
>> * ZFS filesystem version 4.
>> * ZFS pool version 15.
>> * zfs send is on compression off
>> * zfs receive has compression on
>>
>> What I actually want to do and what fails:
>>
>>
>> # zfs snapshot storage/bacula@2010.10.19
>>
>> # zfs send storage/bacula@2010.10.19 | zfs receive -v
>> storage/compressed/bacula
>> receiving full stream of storage/bacula@2010.10.19 into
>> storage/compressed/bacula@2010.10.19
>> received 4.38TB stream in 42490 seconds (108MB/sec)
>>
>> # zfs snapshot storage/bacula@2010.10.20
>>
>> # zfs send -i storage/bacula@2010.10.19 storage/bacula@2010.10.20 | zfs
>> receive -v storage/compressed/bacula
>> receiving incremental stream of storage/bacula@2010.10.20 into
>> storage/compressed/bacula@2010.10.20
>> cannot receive incremental stream: destination storage/compressed/bacula
>> has been modified
>> since most recent snapshot
>> warning: cannot send 'storage/bacula@2010.10.20': Broken pipe
>>
>> I have no idea why this fails.  Clues please?
>>
>> To my knowledge, the destination has not been written to.
>
> Has any read operation been done on the destination (ie: updated atime) ?

Not that I know of.  But I do think that is the issue.  Thank you.  Adding
a -F option to the receive helps:

# zfs send -i storage/bacula@2010.10.19 storage/bacula@2010.10.20 | zfs
receive -vF storage/compressed/bacula
receiving incremental stream of storage/bacula@2010.10.20 into
storage/compressed/bacula@2010.10.20
received 20.0GB stream in 303 seconds (67.5MB/sec)

Just after I sent my email, I found this post:

 http://lists.freebsd.org/pipermail/freebsd-current/2007-July/075774.html

Problem solved.  :)


-- 
Dan Langille -- http://langille.org/




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40c67a2c91813d90fa4a3dafb8604db1.squirrel>