(void) mkdir_parents_label(i->temp_path, 0700);
- r = btrfs_subvol_make(i->temp_path);
- if (r == -ENOTTY) {
- if (mkdir(i->temp_path, 0755) < 0)
- return log_error_errno(errno, "Failed to create directory %s: %m", i->temp_path);
- } else if (r < 0)
- return log_error_errno(r, "Failed to create subvolume %s: %m", i->temp_path);
- else
+ r = btrfs_subvol_make_fallback(i->temp_path, 0755);
+ if (r < 0)
+ return log_error_errno(r, "Failed to create directory/subvolume %s: %m", i->temp_path);
+ if (r > 0) /* actually btrfs subvol */
(void) import_assign_pool_quota_and_warn(i->temp_path);
i->tar_fd = import_fork_tar_x(i->temp_path, &i->tar_pid);