Lines Matching defs:sdd

1080 gather_holds(zfs_handle_t *zhp, send_dump_data_t *sdd)
1088 if (sdd->snapholds == NULL)
1091 fnvlist_add_string(sdd->snapholds, zhp->zfs_name, sdd->holdtag);
1186 send_dump_data_t *sdd = arg;
1194 FILE *fout = sdd->std_out ? stdout : stderr;
1198 isfromsnap = (sdd->fromsnap != NULL &&
1199 strcmp(sdd->fromsnap, thissnap) == 0);
1201 if (!sdd->seenfrom && isfromsnap) {
1202 gather_holds(zhp, sdd);
1203 sdd->seenfrom = B_TRUE;
1204 (void) strcpy(sdd->prevsnap, thissnap);
1205 sdd->prevsnap_obj = zfs_prop_get_int(zhp, ZFS_PROP_OBJSETID);
1210 if (sdd->seento || !sdd->seenfrom) {
1215 istosnap = (strcmp(sdd->tosnap, thissnap) == 0);
1217 sdd->seento = B_TRUE;
1219 if (sdd->large_block)
1221 if (sdd->embed_data)
1223 if (sdd->compress)
1226 if (!sdd->doall && !isfromsnap && !istosnap) {
1227 if (sdd->replicate) {
1234 nvlist_t *nvfs = fsavl_find(sdd->fsavl,
1251 if (exclude || (sdd->filter_cb != NULL &&
1252 sdd->filter_cb(zhp, sdd->filter_cb_arg) == B_FALSE)) {
1265 gather_holds(zhp, sdd);
1266 fromorigin = sdd->prevsnap[0] == '\0' &&
1267 (sdd->fromorigin || sdd->replicate);
1269 if (sdd->verbose) {
1271 (void) estimate_ioctl(zhp, sdd->prevsnap_obj,
1275 sdd->prevsnap[0] ? sdd->prevsnap : NULL,
1276 size, sdd->parsable);
1277 sdd->size += size;
1280 if (!sdd->dryrun) {
1285 if (sdd->progress) {
1287 pa.pa_fd = sdd->outfd;
1288 pa.pa_parsable = sdd->parsable;
1297 err = dump_ioctl(zhp, sdd->prevsnap, sdd->prevsnap_obj,
1298 fromorigin, sdd->outfd, flags, sdd->debugnv);
1300 if (sdd->progress) {
1306 (void) strcpy(sdd->prevsnap, thissnap);
1307 sdd->prevsnap_obj = zfs_prop_get_int(zhp, ZFS_PROP_OBJSETID);
1316 send_dump_data_t *sdd = arg;
1321 zhp->zfs_name, sdd->tosnap);
1325 zhp->zfs_name, sdd->tosnap);
1326 sdd->err = B_TRUE;
1330 if (sdd->replicate && sdd->fromsnap) {
1339 zhp->zfs_name, sdd->fromsnap);
1346 sdd->seenfrom = sdd->seento = sdd->prevsnap[0] = 0;
1347 sdd->prevsnap_obj = 0;
1348 if (sdd->fromsnap == NULL || missingfrom)
1349 sdd->seenfrom = B_TRUE;
1352 if (!sdd->seenfrom) {
1356 zhp->zfs_name, sdd->tosnap,
1357 zhp->zfs_name, sdd->fromsnap);
1358 sdd->err = B_TRUE;
1359 } else if (!sdd->seento) {
1360 if (sdd->fromsnap) {
1365 zhp->zfs_name, sdd->tosnap,
1366 zhp->zfs_name, sdd->fromsnap);
1371 zhp->zfs_name, sdd->tosnap);
1373 sdd->err = B_TRUE;
1382 send_dump_data_t *sdd = arg;
1386 if (!sdd->replicate)
1387 return (dump_filesystem(rzhp, sdd));
1390 for (fspair = nvlist_next_nvpair(sdd->fss, NULL); fspair;
1391 fspair = nvlist_next_nvpair(sdd->fss, fspair)) {
1399 nvlist_t *origin_nv = fsavl_find(sdd->fsavl,
1414 for (fspair = nvlist_next_nvpair(sdd->fss, NULL); fspair;
1415 fspair = nvlist_next_nvpair(sdd->fss, fspair)) {
1433 parent_nv = fsavl_find(sdd->fsavl, parent_guid, NULL);
1442 nvlist_t *origin_nv = fsavl_find(sdd->fsavl,
1458 err = dump_filesystem(zhp, sdd);
1471 for (fspair = nvlist_next_nvpair(sdd->fss, NULL); fspair;
1472 fspair = nvlist_next_nvpair(sdd->fss, fspair)) {
1734 send_dump_data_t sdd = { 0 };
1852 sdd.fromsnap = fromsnap;
1853 sdd.tosnap = tosnap;
1855 sdd.outfd = pipefd[0];
1857 sdd.outfd = outfd;
1858 sdd.replicate = flags->replicate;
1859 sdd.doall = flags->doall;
1860 sdd.fromorigin = flags->fromorigin;
1861 sdd.fss = fss;
1862 sdd.fsavl = fsavl;
1863 sdd.verbose = flags->verbose;
1864 sdd.parsable = flags->parsable;
1865 sdd.progress = flags->progress;
1866 sdd.dryrun = flags->dryrun;
1867 sdd.large_block = flags->largeblock;
1868 sdd.embed_data = flags->embed_data;
1869 sdd.compress = flags->compress;
1870 sdd.filter_cb = filter_func;
1871 sdd.filter_cb_arg = cb_arg;
1873 sdd.debugnv = *debugnvp;
1874 if (sdd.verbose && sdd.dryrun)
1875 sdd.std_out = B_TRUE;
1876 fout = sdd.std_out ? stdout : stderr;
1890 (void) snprintf(sdd.holdtag, sizeof (sdd.holdtag),
1892 sdd.cleanup_fd = open(ZFS_DEV, O_RDWR|O_EXCL);
1893 if (sdd.cleanup_fd < 0) {
1897 sdd.snapholds = fnvlist_alloc();
1899 sdd.cleanup_fd = -1;
1900 sdd.snapholds = NULL;
1902 if (flags->verbose || sdd.snapholds != NULL) {
1908 sdd.dryrun = B_TRUE;
1909 err = dump_filesystems(zhp, &sdd);
1917 (longlong_t)sdd.size);
1920 zfs_nicenum(sdd.size, buf, sizeof (buf));
1927 if (!sdd.seento) {
1936 if (sdd.snapholds != NULL) {
1937 err = zfs_hold_nvl(zhp, sdd.cleanup_fd, sdd.snapholds);
1941 fnvlist_free(sdd.snapholds);
1942 sdd.snapholds = NULL;
1945 sdd.dryrun = B_FALSE;
1946 sdd.verbose = B_FALSE;
1949 err = dump_filesystems(zhp, &sdd);
1954 if (err == 0 && !sdd.seento)
1964 if (sdd.cleanup_fd != -1) {
1965 VERIFY(0 == close(sdd.cleanup_fd));
1966 sdd.cleanup_fd = -1;
1984 return (err || sdd.err);
1991 fnvlist_free(sdd.snapholds);
1993 if (sdd.cleanup_fd != -1)
1994 VERIFY(0 == close(sdd.cleanup_fd));