chiark / gitweb /
importd: enable btrfs quota in /var/lib/machines, if necessary
[elogind.git] / src / import / importd.c
index 25d9ab2e7110ce9139c09c3af6be6c256568ff92..f315212685c5b5bb67fca025791d567df0056b63 100644 (file)
@@ -792,6 +792,11 @@ static int setup_machine_directory(sd_bus_error *error) {
                 return sd_bus_error_set_errnof(error, r, "Failed to determine whether /var/lib/machines is located on btrfs: %m");
         if (r > 0) {
                 (void) btrfs_subvol_make_label("/var/lib/machines");
+
+                r = btrfs_quota_enable("/var/lib/machines", true);
+                if (r < 0)
+                        log_warning_errno(r, "Failed to enable quota, ignoring: %m");
+
                 return 0;
         }
 
@@ -858,6 +863,10 @@ static int setup_machine_directory(sd_bus_error *error) {
         }
         mntdir_mounted = true;
 
+        r = btrfs_quota_enable(mntdir, true);
+        if (r < 0)
+                log_warning_errno(r, "Failed to enable quota, ignoring: %m");
+
         if (chmod(mntdir, 0700) < 0) {
                 r = sd_bus_error_set_errnof(error, errno, "Failed to fix owner: %m");
                 goto fail;