Michal Schmidt 14c310
From 5b283222a8834b3bfec59cac21c743d97e4a4a6d Mon Sep 17 00:00:00 2001
Michal Schmidt 14c310
From: Lennart Poettering <lennart@poettering.net>
Michal Schmidt 14c310
Date: Thu, 15 Mar 2012 00:45:02 +0100
Michal Schmidt 14c310
Subject: [PATCH] nspawn: mount /etc/timezone into nspawn environment too
Michal Schmidt 14c310
 (cherry picked from commit
Michal Schmidt 14c310
 4d1c38b8072dca18807371170d5e14fa8dc0baa5)
Michal Schmidt 14c310
Michal Schmidt 14c310
---
Michal Schmidt 14c310
 src/nspawn.c |   10 +++++++++-
Michal Schmidt 14c310
 1 files changed, 9 insertions(+), 1 deletions(-)
Michal Schmidt 14c310
Michal Schmidt 14c310
diff --git a/src/nspawn.c b/src/nspawn.c
Michal Schmidt 14c310
index 52b4aa8..97efcd1 100644
Michal Schmidt 14c310
--- a/src/nspawn.c
Michal Schmidt 14c310
+++ b/src/nspawn.c
Michal Schmidt 14c310
@@ -196,7 +196,7 @@ static int mount_all(const char *dest) {
Michal Schmidt 14c310
         }
Michal Schmidt 14c310
 
Michal Schmidt 14c310
         /* Fix the timezone, if possible */
Michal Schmidt 14c310
-        if (asprintf(&where, "%s/%s", dest, "/etc/localtime") >= 0) {
Michal Schmidt 14c310
+        if (asprintf(&where, "%s/etc/localtime", dest) >= 0) {
Michal Schmidt 14c310
 
Michal Schmidt 14c310
                 if (mount("/etc/localtime", where, "bind", MS_BIND, NULL) >= 0)
Michal Schmidt 14c310
                         mount("/etc/localtime", where, "bind", MS_BIND|MS_REMOUNT|MS_RDONLY, NULL);
Michal Schmidt 14c310
@@ -204,6 +204,14 @@ static int mount_all(const char *dest) {
Michal Schmidt 14c310
                 free(where);
Michal Schmidt 14c310
         }
Michal Schmidt 14c310
 
Michal Schmidt 14c310
+        if (asprintf(&where, "%s/etc/timezone", dest) >= 0) {
Michal Schmidt 14c310
+
Michal Schmidt 14c310
+                if (mount("/etc/timezone", where, "bind", MS_BIND, NULL) >= 0)
Michal Schmidt 14c310
+                        mount("/etc/timezone", where, "bind", MS_BIND|MS_REMOUNT|MS_RDONLY, NULL);
Michal Schmidt 14c310
+
Michal Schmidt 14c310
+                free(where);
Michal Schmidt 14c310
+        }
Michal Schmidt 14c310
+
Michal Schmidt 14c310
         return r;
Michal Schmidt 14c310
 }
Michal Schmidt 14c310