]> wimlib.net Git - wimlib/blobdiff - src/mount_image.c
Delay xml_update_image_info() until write
[wimlib] / src / mount_image.c
index 239184aa0b60640a45fb4142a6d5abfa0caecd46..bca9e4390e473c7987ae04f0522ccf6ab91901c7 100644 (file)
@@ -1116,7 +1116,6 @@ commit_image(struct wimfs_context *ctx, int unmount_flags, mqd_t mq)
        }
        INIT_LIST_HEAD(&ctx->orig_blob_list);
        delete_empty_blobs(ctx);
-       xml_update_image_info(ctx->wim, ctx->wim->current_image);
        mark_image_dirty(wim_get_current_image_metadata(ctx->wim));
 
        write_flags = 0;
@@ -2137,6 +2136,8 @@ wimlib_mount_image(WIMStruct *wim, int image, const char *dir,
        }
 
        if (mount_flags & WIMLIB_MOUNT_FLAG_READWRITE) {
+               if (imd->refcnt > 1)
+                       return WIMLIB_ERR_IMAGE_HAS_MULTIPLE_REFERENCES;
                ret = lock_wim_for_append(wim);
                if (ret)
                        return ret;