'zfs send -i': destination has been modified
Dan Langille
dan at langille.org
Wed Oct 20 12:54:09 UTC 2010
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 at 2010.10.19
>>
>> send
>> # zfs send storage/a at 2010.10.19 | zfs receive -v storage/compressed/a
>> receiving full stream of storage/a at 2010.10.19 into
>> storage/compressed/a at 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 at 2010.10.20
>>
>>
>> send it
>>
>> # zfs send -i storage/a at 2010.10.19 storage/a at 2010.10.20 | zfs receive
>> -v
>> storage/compressed/a
>> receiving incremental stream of storage/a at 2010.10.20 into
>> storage/compressed/a at 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 at 2010.10.19
>>
>> # zfs send storage/bacula at 2010.10.19 | zfs receive -v
>> storage/compressed/bacula
>> receiving full stream of storage/bacula at 2010.10.19 into
>> storage/compressed/bacula at 2010.10.19
>> received 4.38TB stream in 42490 seconds (108MB/sec)
>>
>> # zfs snapshot storage/bacula at 2010.10.20
>>
>> # zfs send -i storage/bacula at 2010.10.19 storage/bacula at 2010.10.20 | zfs
>> receive -v storage/compressed/bacula
>> receiving incremental stream of storage/bacula at 2010.10.20 into
>> storage/compressed/bacula at 2010.10.20
>> cannot receive incremental stream: destination storage/compressed/bacula
>> has been modified
>> since most recent snapshot
>> warning: cannot send 'storage/bacula at 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 at 2010.10.19 storage/bacula at 2010.10.20 | zfs
receive -vF storage/compressed/bacula
receiving incremental stream of storage/bacula at 2010.10.20 into
storage/compressed/bacula at 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/
More information about the freebsd-stable
mailing list