}
/*
- * Creates a randomly named staging directory and returns its name into the
- * static variable staging_dir_name.
- *
- * If the staging directory cannot be created, staging_dir_name is set to NULL.
- * */
+ * Creates a randomly named staging directory and saves its name in the
+ * filesystem context structure.
+ */
static int make_staging_dir(struct wimfs_context *ctx)
{
/* XXX Give the user an option of where to stage files */
if (ret != 0)
return ret;
+ if ((flags & WIMLIB_MOUNT_FLAG_READWRITE) && (wim->hdr.total_parts != 1)) {
+ ERROR("Cannot mount a split WIM read-write");
+ return WIMLIB_ERR_SPLIT_UNSUPPORTED;
+ }
+
if (num_additional_swms) {
ret = new_joined_lookup_table(wim, additional_swms,
num_additional_swms,