summaryrefslogtreecommitdiff
path: root/src/import/import-tar.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-04-09 11:57:00 +0200
committerLennart Poettering <lennart@poettering.net>2020-04-09 12:13:08 +0200
commit82c4440ddd0ae1f8846ea689ec5d15dab018f600 (patch)
treeb35a0e111fdd0d935b980a3540119c644c96e4ba /src/import/import-tar.c
parentd78a95d751069bcf48395cfd08e455138712f247 (diff)
downloadsystemd-82c4440ddd0ae1f8846ea689ec5d15dab018f600.tar.gz
import: use our new btrfs_subvol_make_fallback() at two places
Diffstat (limited to 'src/import/import-tar.c')
-rw-r--r--src/import/import-tar.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/import/import-tar.c b/src/import/import-tar.c
index 1e50d31bc2..5d2bf22fb2 100644
--- a/src/import/import-tar.c
+++ b/src/import/import-tar.c
@@ -220,13 +220,10 @@ static int tar_import_fork_tar(TarImport *i) {
(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);