import: wire up SYSTEMD_IMPORT_BTRFS_{SUBVOL,QUOTA} to importd
Btrfs quotas are actually being enabled in systemd-importd via
setup_machine_directory(), not in systemd-{import,pull} where those
environment variables are checked. Therefore, also check them in
systemd-importd and avoid enabling quotas if requested by the user.
Fixes: #18421
Fixes: #15903
Fixes: #24387
This commit is contained in:
@@ -22,7 +22,7 @@ static int check_btrfs(void) {
|
||||
return F_TYPE_EQUAL(sfs.f_type, BTRFS_SUPER_MAGIC);
|
||||
}
|
||||
|
||||
int setup_machine_directory(sd_bus_error *error) {
|
||||
int setup_machine_directory(sd_bus_error *error, bool use_btrfs_subvol, bool use_btrfs_quota) {
|
||||
int r;
|
||||
|
||||
r = check_btrfs();
|
||||
@@ -31,8 +31,14 @@ int setup_machine_directory(sd_bus_error *error) {
|
||||
if (r == 0)
|
||||
return 0;
|
||||
|
||||
if (!use_btrfs_subvol)
|
||||
return 0;
|
||||
|
||||
(void) btrfs_subvol_make_label("/var/lib/machines");
|
||||
|
||||
if (!use_btrfs_quota)
|
||||
return 0;
|
||||
|
||||
r = btrfs_quota_enable("/var/lib/machines", true);
|
||||
if (r < 0)
|
||||
log_warning_errno(r, "Failed to enable quota for /var/lib/machines, ignoring: %m");
|
||||
|
||||
Reference in New Issue
Block a user