diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-04-09 11:57:00 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2020-04-09 12:13:08 +0200 |
commit | 82c4440ddd0ae1f8846ea689ec5d15dab018f600 (patch) | |
tree | b35a0e111fdd0d935b980a3540119c644c96e4ba | |
parent | d78a95d751069bcf48395cfd08e455138712f247 (diff) | |
download | systemd-82c4440ddd0ae1f8846ea689ec5d15dab018f600.tar.gz |
import: use our new btrfs_subvol_make_fallback() at two places
-rw-r--r-- | src/import/import-tar.c | 11 | ||||
-rw-r--r-- | src/import/pull-tar.c | 11 |
2 files changed, 8 insertions, 14 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); diff --git a/src/import/pull-tar.c b/src/import/pull-tar.c index 3930578a8c..ede28bee1b 100644 --- a/src/import/pull-tar.c +++ b/src/import/pull-tar.c @@ -415,13 +415,10 @@ static int tar_pull_job_on_open_disk_tar(PullJob *j) { 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); j->disk_fd = import_fork_tar_x(i->temp_path, &i->tar_pid); |