Fix uninitialized variable snapprops_nvlist in zfs_receive_one
The variable snapprops_nvlist was never initialized, so properties were not applied to the received snapshot. Additionally, add zfs_receive_013_pos.ksh script to ZFS test suite to exercise 'zfs receive' functionality for user properties. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: loli10K <ezomori.nozomu@gmail.com> Closes #4338
This commit is contained in:
parent
4c83fa9b87
commit
d2beed9116
|
@ -2689,7 +2689,8 @@ zfs_receive_one(libzfs_handle_t *hdl, int infd, const char *tosnap,
|
||||||
ENOENT);
|
ENOENT);
|
||||||
|
|
||||||
if (stream_avl != NULL) {
|
if (stream_avl != NULL) {
|
||||||
char *snapname;
|
char *snapname = NULL;
|
||||||
|
nvlist_t *lookup = NULL;
|
||||||
nvlist_t *fs = fsavl_find(stream_avl, drrb->drr_toguid,
|
nvlist_t *fs = fsavl_find(stream_avl, drrb->drr_toguid,
|
||||||
&snapname);
|
&snapname);
|
||||||
nvlist_t *props;
|
nvlist_t *props;
|
||||||
|
@ -2710,6 +2711,11 @@ zfs_receive_one(libzfs_handle_t *hdl, int infd, const char *tosnap,
|
||||||
nvlist_free(props);
|
nvlist_free(props);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
return (-1);
|
return (-1);
|
||||||
|
|
||||||
|
if (0 == nvlist_lookup_nvlist(fs, "snapprops", &lookup)) {
|
||||||
|
VERIFY(0 == nvlist_lookup_nvlist(lookup,
|
||||||
|
snapname, &snapprops_nvlist));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cp = NULL;
|
cp = NULL;
|
||||||
|
|
Loading…
Reference in New Issue