]> wimlib.net Git - wimlib/blobdiff - include/wimlib/lookup_table.h
Revert "read_wim_lookup_table(): Make sure all resources get validated"
[wimlib] / include / wimlib / lookup_table.h
index 82138e35a2f7083fb9e40846fe548b23d9213834..a169e3934985f995b80ae34a908def3fe35ab3ee 100644 (file)
@@ -136,7 +136,12 @@ struct wim_lookup_table_entry {
         * 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
@@ -225,6 +230,9 @@ struct wim_lookup_table_entry {
 
                /* 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
@@ -261,9 +269,6 @@ extern struct wim_lookup_table_entry *
 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);
@@ -369,6 +374,8 @@ lte_unbind_wim_resource_spec(struct wim_lookup_table_entry *lte)
        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,