Lines Matching refs:sdd

1029 gather_holds(zfs_handle_t *zhp, send_dump_data_t *sdd)  in gather_holds()  argument
1037 if (sdd->snapholds == NULL) in gather_holds()
1040 fnvlist_add_string(sdd->snapholds, zhp->zfs_name, sdd->holdtag); in gather_holds()
1135 send_dump_data_t *sdd = arg; in dump_snapshot() local
1142 FILE *fout = sdd->std_out ? stdout : stderr; in dump_snapshot()
1146 isfromsnap = (sdd->fromsnap != NULL && in dump_snapshot()
1147 strcmp(sdd->fromsnap, thissnap) == 0); in dump_snapshot()
1149 if (!sdd->seenfrom && isfromsnap) { in dump_snapshot()
1150 gather_holds(zhp, sdd); in dump_snapshot()
1151 sdd->seenfrom = B_TRUE; in dump_snapshot()
1152 (void) strcpy(sdd->prevsnap, thissnap); in dump_snapshot()
1153 sdd->prevsnap_obj = zfs_prop_get_int(zhp, ZFS_PROP_OBJSETID); in dump_snapshot()
1158 if (sdd->seento || !sdd->seenfrom) { in dump_snapshot()
1163 istosnap = (strcmp(sdd->tosnap, thissnap) == 0); in dump_snapshot()
1165 sdd->seento = B_TRUE; in dump_snapshot()
1167 if (!sdd->doall && !isfromsnap && !istosnap) { in dump_snapshot()
1168 if (sdd->replicate) { in dump_snapshot()
1175 nvlist_t *nvfs = fsavl_find(sdd->fsavl, in dump_snapshot()
1192 if (exclude || (sdd->filter_cb != NULL && in dump_snapshot()
1193 sdd->filter_cb(zhp, sdd->filter_cb_arg) == B_FALSE)) { in dump_snapshot()
1206 gather_holds(zhp, sdd); in dump_snapshot()
1207 fromorigin = sdd->prevsnap[0] == '\0' && in dump_snapshot()
1208 (sdd->fromorigin || sdd->replicate); in dump_snapshot()
1210 if (sdd->verbose) { in dump_snapshot()
1212 (void) estimate_ioctl(zhp, sdd->prevsnap_obj, in dump_snapshot()
1216 sdd->prevsnap[0] ? sdd->prevsnap : NULL, in dump_snapshot()
1217 size, sdd->parsable); in dump_snapshot()
1218 sdd->size += size; in dump_snapshot()
1221 if (!sdd->dryrun) { in dump_snapshot()
1226 if (sdd->progress) { in dump_snapshot()
1228 pa.pa_fd = sdd->outfd; in dump_snapshot()
1229 pa.pa_parsable = sdd->parsable; in dump_snapshot()
1239 if (sdd->large_block) in dump_snapshot()
1241 if (sdd->embed_data) in dump_snapshot()
1244 err = dump_ioctl(zhp, sdd->prevsnap, sdd->prevsnap_obj, in dump_snapshot()
1245 fromorigin, sdd->outfd, flags, sdd->debugnv); in dump_snapshot()
1247 if (sdd->progress) { in dump_snapshot()
1253 (void) strcpy(sdd->prevsnap, thissnap); in dump_snapshot()
1254 sdd->prevsnap_obj = zfs_prop_get_int(zhp, ZFS_PROP_OBJSETID); in dump_snapshot()
1263 send_dump_data_t *sdd = arg; in dump_filesystem() local
1268 zhp->zfs_name, sdd->tosnap); in dump_filesystem()
1272 zhp->zfs_name, sdd->tosnap); in dump_filesystem()
1273 sdd->err = B_TRUE; in dump_filesystem()
1277 if (sdd->replicate && sdd->fromsnap) { in dump_filesystem()
1286 zhp->zfs_name, sdd->fromsnap); in dump_filesystem()
1293 sdd->seenfrom = sdd->seento = sdd->prevsnap[0] = 0; in dump_filesystem()
1294 sdd->prevsnap_obj = 0; in dump_filesystem()
1295 if (sdd->fromsnap == NULL || missingfrom) in dump_filesystem()
1296 sdd->seenfrom = B_TRUE; in dump_filesystem()
1299 if (!sdd->seenfrom) { in dump_filesystem()
1303 zhp->zfs_name, sdd->tosnap, in dump_filesystem()
1304 zhp->zfs_name, sdd->fromsnap); in dump_filesystem()
1305 sdd->err = B_TRUE; in dump_filesystem()
1306 } else if (!sdd->seento) { in dump_filesystem()
1307 if (sdd->fromsnap) { in dump_filesystem()
1312 zhp->zfs_name, sdd->tosnap, in dump_filesystem()
1313 zhp->zfs_name, sdd->fromsnap); in dump_filesystem()
1318 zhp->zfs_name, sdd->tosnap); in dump_filesystem()
1320 sdd->err = B_TRUE; in dump_filesystem()
1329 send_dump_data_t *sdd = arg; in dump_filesystems() local
1333 if (!sdd->replicate) in dump_filesystems()
1334 return (dump_filesystem(rzhp, sdd)); in dump_filesystems()
1337 for (fspair = nvlist_next_nvpair(sdd->fss, NULL); fspair; in dump_filesystems()
1338 fspair = nvlist_next_nvpair(sdd->fss, fspair)) { in dump_filesystems()
1346 nvlist_t *origin_nv = fsavl_find(sdd->fsavl, in dump_filesystems()
1361 for (fspair = nvlist_next_nvpair(sdd->fss, NULL); fspair; in dump_filesystems()
1362 fspair = nvlist_next_nvpair(sdd->fss, fspair)) { in dump_filesystems()
1380 parent_nv = fsavl_find(sdd->fsavl, parent_guid, NULL); in dump_filesystems()
1389 nvlist_t *origin_nv = fsavl_find(sdd->fsavl, in dump_filesystems()
1405 err = dump_filesystem(zhp, sdd); in dump_filesystems()
1418 for (fspair = nvlist_next_nvpair(sdd->fss, NULL); fspair; in dump_filesystems()
1419 fspair = nvlist_next_nvpair(sdd->fss, fspair)) { in dump_filesystems()
1676 send_dump_data_t sdd = { 0 }; in zfs_send() local
1793 sdd.fromsnap = fromsnap; in zfs_send()
1794 sdd.tosnap = tosnap; in zfs_send()
1796 sdd.outfd = pipefd[0]; in zfs_send()
1798 sdd.outfd = outfd; in zfs_send()
1799 sdd.replicate = flags->replicate; in zfs_send()
1800 sdd.doall = flags->doall; in zfs_send()
1801 sdd.fromorigin = flags->fromorigin; in zfs_send()
1802 sdd.fss = fss; in zfs_send()
1803 sdd.fsavl = fsavl; in zfs_send()
1804 sdd.verbose = flags->verbose; in zfs_send()
1805 sdd.parsable = flags->parsable; in zfs_send()
1806 sdd.progress = flags->progress; in zfs_send()
1807 sdd.dryrun = flags->dryrun; in zfs_send()
1808 sdd.large_block = flags->largeblock; in zfs_send()
1809 sdd.embed_data = flags->embed_data; in zfs_send()
1810 sdd.filter_cb = filter_func; in zfs_send()
1811 sdd.filter_cb_arg = cb_arg; in zfs_send()
1813 sdd.debugnv = *debugnvp; in zfs_send()
1814 if (sdd.verbose && sdd.dryrun) in zfs_send()
1815 sdd.std_out = B_TRUE; in zfs_send()
1816 fout = sdd.std_out ? stdout : stderr; in zfs_send()
1830 (void) snprintf(sdd.holdtag, sizeof (sdd.holdtag), in zfs_send()
1832 sdd.cleanup_fd = open(ZFS_DEV, O_RDWR|O_EXCL); in zfs_send()
1833 if (sdd.cleanup_fd < 0) { in zfs_send()
1837 sdd.snapholds = fnvlist_alloc(); in zfs_send()
1839 sdd.cleanup_fd = -1; in zfs_send()
1840 sdd.snapholds = NULL; in zfs_send()
1842 if (flags->verbose || sdd.snapholds != NULL) { in zfs_send()
1848 sdd.dryrun = B_TRUE; in zfs_send()
1849 err = dump_filesystems(zhp, &sdd); in zfs_send()
1857 (longlong_t)sdd.size); in zfs_send()
1860 zfs_nicenum(sdd.size, buf, sizeof (buf)); in zfs_send()
1867 if (!sdd.seento) { in zfs_send()
1876 if (sdd.snapholds != NULL) { in zfs_send()
1877 err = zfs_hold_nvl(zhp, sdd.cleanup_fd, sdd.snapholds); in zfs_send()
1881 fnvlist_free(sdd.snapholds); in zfs_send()
1882 sdd.snapholds = NULL; in zfs_send()
1885 sdd.dryrun = B_FALSE; in zfs_send()
1886 sdd.verbose = B_FALSE; in zfs_send()
1889 err = dump_filesystems(zhp, &sdd); in zfs_send()
1894 if (err == 0 && !sdd.seento) in zfs_send()
1904 if (sdd.cleanup_fd != -1) { in zfs_send()
1905 VERIFY(0 == close(sdd.cleanup_fd)); in zfs_send()
1906 sdd.cleanup_fd = -1; in zfs_send()
1924 return (err || sdd.err); in zfs_send()
1931 fnvlist_free(sdd.snapholds); in zfs_send()
1933 if (sdd.cleanup_fd != -1) in zfs_send()
1934 VERIFY(0 == close(sdd.cleanup_fd)); in zfs_send()