* be extracted.
*
* During image export, this is set to the number of references of this
- * stream that originated from the source WIM. */
+ * stream that originated from the source WIM.
+ *
+ * When mounting a WIM image read-write, this is set to the number of
+ * extra references to this stream preemptively taken to allow later
+ * saving the modified image as a new image and leaving the original
+ * image alone. */
u32 out_refcnt;
#ifdef WITH_FUSE
struct {
u64 out_res_offset_in_wim;
u64 out_res_size_in_wim;
+ u64 out_res_uncompressed_size;
};
};
/* Links streams being exported. */
struct list_head export_stream_list;
+
+ /* Links original list of streams in the read-write mounted image. */
+ struct list_head orig_stream_list;
};
/* Links streams that are still unhashed after being been added to a
clone_lookup_table_entry(const struct wim_lookup_table_entry *lte)
_malloc_attribute;
-extern void
-print_lookup_table_entry(const struct wim_lookup_table_entry *lte, FILE *out);
-
extern void
lte_decrement_refcnt(struct wim_lookup_table_entry *lte,
struct wim_lookup_table *table);
lte->resource_location = RESOURCE_NONEXISTENT;
}
+extern void
+lte_put_resource(struct wim_lookup_table_entry *lte);
extern struct wim_lookup_table_entry *
new_stream_from_data_buffer(const void *buffer, size_t size,