summaryrefslogtreecommitdiff
path: root/src/shared/import-util.c
diff options
context:
space:
mode:
authorDaniel Mack <github@zonque.org>2015-10-23 10:50:53 +0200
committerDaniel Mack <github@zonque.org>2015-10-23 10:50:53 +0200
commit952b4473bc392652b1d4c9dae5ec88fd003c4e1d (patch)
tree8d27afa9b27ceb997013868f2b80a4bb5a993911 /src/shared/import-util.c
parentc9fc270e462bf2f4eab963bf71234d64b0c4c30f (diff)
parentb0830e21f47109d8a6ba2fc0afbf9b2ca1ffc2a9 (diff)
Merge pull request #1641 from poettering/btrfs-quota
btrfs quota beef up and various other unrelated changes
Diffstat (limited to 'src/shared/import-util.c')
-rw-r--r--src/shared/import-util.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/shared/import-util.c b/src/shared/import-util.c
index 001a8a37e8..56388d5dd6 100644
--- a/src/shared/import-util.c
+++ b/src/shared/import-util.c
@@ -19,6 +19,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#include "btrfs-util.h"
#include "util.h"
#include "import-util.h"
@@ -201,3 +202,29 @@ bool dkr_id_is_valid(const char *id) {
return true;
}
+
+int import_assign_pool_quota_and_warn(const char *path) {
+ int r;
+
+ r = btrfs_subvol_auto_qgroup("/var/lib/machines", 0, true);
+ if (r == -ENOTTY) {
+ log_debug_errno(r, "Failed to set up default quota hierarchy for /var/lib/machines, as directory is not on btrfs or not a subvolume. Ignoring.");
+ return 0;
+ }
+ if (r < 0)
+ return log_error_errno(r, "Failed to set up default quota hierarchy for /var/lib/machines: %m");
+ if (r > 0)
+ log_info("Set up default quota hierarchy for /var/lib/machines.");
+
+ r = btrfs_subvol_auto_qgroup(path, 0, true);
+ if (r == -ENOTTY) {
+ log_debug_errno(r, "Failed to set up quota hierarchy for %s, as directory is not on btrfs or not a subvolume. Ignoring.", path);
+ return 0;
+ }
+ if (r < 0)
+ return log_error_errno(r, "Failed to set up default quota hierarchy for %s: %m", path);
+ if (r > 0)
+ log_info("Set up default quota hierarchy for %s.", path);
+
+ return 0;
+}