Zbigniew Jędrzejewski-Szmek 5509c0
From 22549162275fdd36e978a209469772997397f9d7 Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek 5509c0
From: Lennart Poettering <lennart@poettering.net>
Zbigniew Jędrzejewski-Szmek 5509c0
Date: Wed, 18 Jun 2014 00:02:08 +0200
Zbigniew Jędrzejewski-Szmek 5509c0
Subject: [PATCH] tmpfiles: create directories already with the right label,
Zbigniew Jędrzejewski-Szmek 5509c0
 instead of creating them first, and relabeling them afterwards
Zbigniew Jędrzejewski-Szmek 5509c0
Zbigniew Jędrzejewski-Szmek 5509c0
(cherry picked from commit 6f04529399a7a59cfe549913349176409a4dc2e3)
Zbigniew Jędrzejewski-Szmek 5509c0
---
Zbigniew Jędrzejewski-Szmek 5509c0
 src/tmpfiles/tmpfiles.c | 8 ++++----
Zbigniew Jędrzejewski-Szmek 5509c0
 1 file changed, 4 insertions(+), 4 deletions(-)
Zbigniew Jędrzejewski-Szmek 5509c0
Zbigniew Jędrzejewski-Szmek 5509c0
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
Zbigniew Jędrzejewski-Szmek 5509c0
index 3e817cca..7950354d 100644
Zbigniew Jędrzejewski-Szmek 5509c0
--- a/src/tmpfiles/tmpfiles.c
Zbigniew Jędrzejewski-Szmek 5509c0
+++ b/src/tmpfiles/tmpfiles.c
Zbigniew Jędrzejewski-Szmek 5509c0
@@ -693,12 +693,12 @@ static int create_item(Item *i) {
Zbigniew Jędrzejewski-Szmek 5509c0
 
Zbigniew Jędrzejewski-Szmek 5509c0
                 RUN_WITH_UMASK(0000) {
Zbigniew Jędrzejewski-Szmek 5509c0
                         mkdir_parents_label(i->path, 0755);
Zbigniew Jędrzejewski-Szmek 5509c0
-                        r = mkdir(i->path, i->mode);
Zbigniew Jędrzejewski-Szmek 5509c0
+                        r = mkdir_label(i->path, i->mode);
Zbigniew Jędrzejewski-Szmek 5509c0
                 }
Zbigniew Jędrzejewski-Szmek 5509c0
 
Zbigniew Jędrzejewski-Szmek 5509c0
-                if (r < 0 && errno != EEXIST) {
Zbigniew Jędrzejewski-Szmek 5509c0
-                        log_error("Failed to create directory %s: %m", i->path);
Zbigniew Jędrzejewski-Szmek 5509c0
-                        return -errno;
Zbigniew Jędrzejewski-Szmek 5509c0
+                if (r < 0 && r != -EEXIST) {
Zbigniew Jędrzejewski-Szmek 5509c0
+                        log_error("Failed to create directory %s: %s", i->path, strerror(-r));
Zbigniew Jędrzejewski-Szmek 5509c0
+                        return r;
Zbigniew Jędrzejewski-Szmek 5509c0
                 }
Zbigniew Jędrzejewski-Szmek 5509c0
 
Zbigniew Jędrzejewski-Szmek 5509c0
                 if (stat(i->path, &st) < 0) {