-inode_export_streams(struct wim_inode *inode,
- struct wim_lookup_table *src_lookup_table,
- struct wim_lookup_table *dest_lookup_table,
- bool gift)
+blob_set_not_exported(struct blob_descriptor *blob, void *_ignore)
+{
+ blob->out_refcnt = 0;
+ blob->was_exported = 0;
+ return 0;
+}
+
+static int
+blob_rollback_export(struct blob_descriptor *blob, void *_blob_table)
+{
+ struct blob_table *blob_table = _blob_table;
+
+ blob->refcnt -= blob->out_refcnt;
+ if (blob->was_exported) {
+ blob_table_unlink(blob_table, blob);
+ free_blob_descriptor(blob);
+ }
+ return 0;
+}
+
+static int
+inode_export_blobs(struct wim_inode *inode, struct blob_table *src_blob_table,
+ struct blob_table *dest_blob_table, bool gift)