Lines Matching refs:sdd

1027 gather_holds(zfs_handle_t *zhp, send_dump_data_t *sdd)  in gather_holds()  argument
1035 if (sdd->snapholds == NULL) in gather_holds()
1038 fnvlist_add_string(sdd->snapholds, zhp->zfs_name, sdd->holdtag); in gather_holds()
1133 send_dump_data_t *sdd = arg; in dump_snapshot() local
1140 FILE *fout = sdd->std_out ? stdout : stderr; in dump_snapshot()
1144 isfromsnap = (sdd->fromsnap != NULL && in dump_snapshot()
1145 strcmp(sdd->fromsnap, thissnap) == 0); in dump_snapshot()
1147 if (!sdd->seenfrom && isfromsnap) { in dump_snapshot()
1148 gather_holds(zhp, sdd); in dump_snapshot()
1149 sdd->seenfrom = B_TRUE; in dump_snapshot()
1150 (void) strcpy(sdd->prevsnap, thissnap); in dump_snapshot()
1151 sdd->prevsnap_obj = zfs_prop_get_int(zhp, ZFS_PROP_OBJSETID); in dump_snapshot()
1156 if (sdd->seento || !sdd->seenfrom) { in dump_snapshot()
1161 istosnap = (strcmp(sdd->tosnap, thissnap) == 0); in dump_snapshot()
1163 sdd->seento = B_TRUE; in dump_snapshot()
1165 if (!sdd->doall && !isfromsnap && !istosnap) { in dump_snapshot()
1166 if (sdd->replicate) { in dump_snapshot()
1173 nvlist_t *nvfs = fsavl_find(sdd->fsavl, in dump_snapshot()
1190 if (exclude || (sdd->filter_cb != NULL && in dump_snapshot()
1191 sdd->filter_cb(zhp, sdd->filter_cb_arg) == B_FALSE)) { in dump_snapshot()
1204 gather_holds(zhp, sdd); in dump_snapshot()
1205 fromorigin = sdd->prevsnap[0] == '\0' && in dump_snapshot()
1206 (sdd->fromorigin || sdd->replicate); in dump_snapshot()
1208 if (sdd->verbose) { in dump_snapshot()
1210 (void) estimate_ioctl(zhp, sdd->prevsnap_obj, in dump_snapshot()
1214 sdd->prevsnap[0] ? sdd->prevsnap : NULL, in dump_snapshot()
1215 size, sdd->parsable); in dump_snapshot()
1216 sdd->size += size; in dump_snapshot()
1219 if (!sdd->dryrun) { in dump_snapshot()
1224 if (sdd->progress) { in dump_snapshot()
1226 pa.pa_fd = sdd->outfd; in dump_snapshot()
1227 pa.pa_parsable = sdd->parsable; in dump_snapshot()
1237 if (sdd->large_block) in dump_snapshot()
1239 if (sdd->embed_data) in dump_snapshot()
1242 err = dump_ioctl(zhp, sdd->prevsnap, sdd->prevsnap_obj, in dump_snapshot()
1243 fromorigin, sdd->outfd, flags, sdd->debugnv); in dump_snapshot()
1245 if (sdd->progress) { in dump_snapshot()
1251 (void) strcpy(sdd->prevsnap, thissnap); in dump_snapshot()
1252 sdd->prevsnap_obj = zfs_prop_get_int(zhp, ZFS_PROP_OBJSETID); in dump_snapshot()
1261 send_dump_data_t *sdd = arg; in dump_filesystem() local
1266 zhp->zfs_name, sdd->tosnap); in dump_filesystem()
1270 zhp->zfs_name, sdd->tosnap); in dump_filesystem()
1271 sdd->err = B_TRUE; in dump_filesystem()
1275 if (sdd->replicate && sdd->fromsnap) { in dump_filesystem()
1284 zhp->zfs_name, sdd->fromsnap); in dump_filesystem()
1291 sdd->seenfrom = sdd->seento = sdd->prevsnap[0] = 0; in dump_filesystem()
1292 sdd->prevsnap_obj = 0; in dump_filesystem()
1293 if (sdd->fromsnap == NULL || missingfrom) in dump_filesystem()
1294 sdd->seenfrom = B_TRUE; in dump_filesystem()
1297 if (!sdd->seenfrom) { in dump_filesystem()
1301 zhp->zfs_name, sdd->tosnap, in dump_filesystem()
1302 zhp->zfs_name, sdd->fromsnap); in dump_filesystem()
1303 sdd->err = B_TRUE; in dump_filesystem()
1304 } else if (!sdd->seento) { in dump_filesystem()
1305 if (sdd->fromsnap) { in dump_filesystem()
1310 zhp->zfs_name, sdd->tosnap, in dump_filesystem()
1311 zhp->zfs_name, sdd->fromsnap); in dump_filesystem()
1316 zhp->zfs_name, sdd->tosnap); in dump_filesystem()
1318 sdd->err = B_TRUE; in dump_filesystem()
1327 send_dump_data_t *sdd = arg; in dump_filesystems() local
1331 if (!sdd->replicate) in dump_filesystems()
1332 return (dump_filesystem(rzhp, sdd)); in dump_filesystems()
1335 for (fspair = nvlist_next_nvpair(sdd->fss, NULL); fspair; in dump_filesystems()
1336 fspair = nvlist_next_nvpair(sdd->fss, fspair)) { in dump_filesystems()
1344 nvlist_t *origin_nv = fsavl_find(sdd->fsavl, in dump_filesystems()
1359 for (fspair = nvlist_next_nvpair(sdd->fss, NULL); fspair; in dump_filesystems()
1360 fspair = nvlist_next_nvpair(sdd->fss, fspair)) { in dump_filesystems()
1378 parent_nv = fsavl_find(sdd->fsavl, parent_guid, NULL); in dump_filesystems()
1387 nvlist_t *origin_nv = fsavl_find(sdd->fsavl, in dump_filesystems()
1403 err = dump_filesystem(zhp, sdd); in dump_filesystems()
1416 for (fspair = nvlist_next_nvpair(sdd->fss, NULL); fspair; in dump_filesystems()
1417 fspair = nvlist_next_nvpair(sdd->fss, fspair)) { in dump_filesystems()
1674 send_dump_data_t sdd = { 0 }; in zfs_send() local
1791 sdd.fromsnap = fromsnap; in zfs_send()
1792 sdd.tosnap = tosnap; in zfs_send()
1794 sdd.outfd = pipefd[0]; in zfs_send()
1796 sdd.outfd = outfd; in zfs_send()
1797 sdd.replicate = flags->replicate; in zfs_send()
1798 sdd.doall = flags->doall; in zfs_send()
1799 sdd.fromorigin = flags->fromorigin; in zfs_send()
1800 sdd.fss = fss; in zfs_send()
1801 sdd.fsavl = fsavl; in zfs_send()
1802 sdd.verbose = flags->verbose; in zfs_send()
1803 sdd.parsable = flags->parsable; in zfs_send()
1804 sdd.progress = flags->progress; in zfs_send()
1805 sdd.dryrun = flags->dryrun; in zfs_send()
1806 sdd.large_block = flags->largeblock; in zfs_send()
1807 sdd.embed_data = flags->embed_data; in zfs_send()
1808 sdd.filter_cb = filter_func; in zfs_send()
1809 sdd.filter_cb_arg = cb_arg; in zfs_send()
1811 sdd.debugnv = *debugnvp; in zfs_send()
1812 if (sdd.verbose && sdd.dryrun) in zfs_send()
1813 sdd.std_out = B_TRUE; in zfs_send()
1814 fout = sdd.std_out ? stdout : stderr; in zfs_send()
1828 (void) snprintf(sdd.holdtag, sizeof (sdd.holdtag), in zfs_send()
1830 sdd.cleanup_fd = open(ZFS_DEV, O_RDWR|O_EXCL); in zfs_send()
1831 if (sdd.cleanup_fd < 0) { in zfs_send()
1835 sdd.snapholds = fnvlist_alloc(); in zfs_send()
1837 sdd.cleanup_fd = -1; in zfs_send()
1838 sdd.snapholds = NULL; in zfs_send()
1840 if (flags->verbose || sdd.snapholds != NULL) { in zfs_send()
1846 sdd.dryrun = B_TRUE; in zfs_send()
1847 err = dump_filesystems(zhp, &sdd); in zfs_send()
1855 (longlong_t)sdd.size); in zfs_send()
1858 zfs_nicenum(sdd.size, buf, sizeof (buf)); in zfs_send()
1865 if (!sdd.seento) { in zfs_send()
1874 if (sdd.snapholds != NULL) { in zfs_send()
1875 err = zfs_hold_nvl(zhp, sdd.cleanup_fd, sdd.snapholds); in zfs_send()
1879 fnvlist_free(sdd.snapholds); in zfs_send()
1880 sdd.snapholds = NULL; in zfs_send()
1883 sdd.dryrun = B_FALSE; in zfs_send()
1884 sdd.verbose = B_FALSE; in zfs_send()
1887 err = dump_filesystems(zhp, &sdd); in zfs_send()
1892 if (err == 0 && !sdd.seento) in zfs_send()
1902 if (sdd.cleanup_fd != -1) { in zfs_send()
1903 VERIFY(0 == close(sdd.cleanup_fd)); in zfs_send()
1904 sdd.cleanup_fd = -1; in zfs_send()
1922 return (err || sdd.err); in zfs_send()
1929 fnvlist_free(sdd.snapholds); in zfs_send()
1931 if (sdd.cleanup_fd != -1) in zfs_send()
1932 VERIFY(0 == close(sdd.cleanup_fd)); in zfs_send()