Date: Sun, 12 Sep 2010 23:14:45 -0500 From: "James R. Van Artsdalen" <james@jrv.org> To: Pawel Jakub Dawidek <pjd@FreeBSD.org> Cc: freebsd-fs@FreeBSD.org Subject: ZFS v28: ZFS recv abort Message-ID: <4C8DA535.7050007@jrv.org> In-Reply-To: <20100831215915.GE1932@garage.freebsd.pl> References: <20100831215915.GE1932@garage.freebsd.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
amd64, SVN 212080 with pjd's original v28 patch /sbin/zfs aborts receiving an incrementing stream. bigback:/root# zfs send -R -I @then bigtex@now | ssh kraken /sbin/zfs recv -dvF bigz Assertion failed: (!clp->cl_alldependents), file /usr/src/cddl/lib/libzfs/../../../cddl/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c, line 470. (the error message is from receiving system kraken) At the failing ASSERT(!clp->cl_alldependents) clp points to (gdb) p * (prop_changelist_t *) data $2 = {cl_prop = ZFS_PROP_MOUNTPOINT, cl_realprop = ZFS_PROP_NAME, cl_shareprop = ZFS_PROP_TYPE, cl_pool = 0x8018a8400, cl_list = 0x802243c50, cl_waslegacy = B_FALSE, cl_allchildren = B_FALSE, \ cl_alldependents = B_TRUE, cl_mflags = 524288, cl_gflags = 0, cl_haszonedchild = B_FALSE, cl_sorted = B_FALSE} One level up in parent function zfs_iter_dependents() zhp points to (gdb) p *zhp $3 = {zfs_hdl = 0x801810800, zpool_hdl = 0x801892140, zfs_name = "bigz/recv-2818-1", '\0' <repeats 239 times>, zfs_type = ZFS_TYPE_FILESYSTEM, zfs_head_type = ZFS_TYPE_FILESYSTEM, zfs_dmustats\ = {dds_num_clones = 0, dds_creation_txg = 111554, dds_guid = 10368215686395422194, dds_type = DMU_OST_ZFS, dds_is_snapshot = 0 '\0', dds_inconsistent = 0 '\0', dds_origin = '\0' <repeats 255 \ times>}, zfs_props = 0x801831040, zfs_user_props = 0x8018310c0, zfs_recvd_props = 0x0, zfs_mntcheck = B_FALSE, zfs_mntopts = 0x0, zfs_props_table = 0x0} I'm guessing that the filesystem was renamed, hence the "bigz/recv-2818-1" pool/dataset designation. Or perhaps a prior recv didn't properly change a temporary pool/recv-* dataset name back to the right name after that prior recv, causing the next recv to fail.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C8DA535.7050007>