Crash while sending ZFS file system

Willem Jan Withagen wjw at digiware.nl
Thu Aug 8 07:17:32 UTC 2013


On 2013-08-07 23:22, Steven Hartland wrote:
>
> ----- Original Message ----- From: "Willem Jan Withagen" <wjw at digiware.nl>
>> # zfs send -n -v -R zfsraid at box
> ...
>
>> Need origin_guid 16676154253971996192 for zfsraid/home
>> Need parent_guid 3602069970101155964 for zfsraid/home/clone_20100925
>> Need parent_guid 3602069970101155964 for zfsraid/home/Software
>> Need parent_guid 3602069970101155964 for zfsraid/home/www
>> Need parent_guid 3602069970101155964 for zfsraid/home/Media
>> Need parent_guid 3602069970101155964 for zfsraid/home/angelic
>> Need parent_guid 3602069970101155964 for zfsraid/home/mrtg
>> Need parent_guid 3602069970101155964 for zfsraid/home/wjw
>> Assertion failed: (progress), file
>> /usr/srcs/src9/src/cddl/lib/libzfs/../../../cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c,
>>
>> line 1318.
>> Abort (core dumped)
>
> I believe the problem you have is that zfsraid/home depends on its
> parent guid of 16676154253971996192 which according to your
> zfs list is:-
> zfsraid/home/clone_20100925 at 20100925       16676154253971996192  -
>
> This is a child of zfsraid/home so it will itself dependent on
> zfsraid/home creating a cyclic dependency which can't be resolved.
>
> I suspect zfsraid/home was cloned from zfsraid/somethingelse and
> then subsiquently zfsraid/somethingelse was renamed to
> zfsraid/home/clone_20100925 creating the cycle.
>
> The updated patch should had enough extra debug to confirm this.
>
> If I'm right then simpy renaming zfsraid/home/clone_20100925 to
> zfsraid/clone_20100925, so its not under zfsraid/home, should be
> enough to remove the cycle and allow the send to complete.

I think you are  most probably right.
I have been experimenting with clones at one time to sort of "clean up" 
old snapshots.. But one way or another it did not work.

I'll patch libzfs and send the resulting output.

Is there a way to shortcut the buildproces?
Now I just do
	'make -DNO_CLEAN -DNOCLEAN buildworld && make installworld'
But I have a feeling that there could be a shortcut.

--WjW



More information about the freebsd-fs mailing list