From f1d48aec43947e5dddae8ba02e3133ee8d0d0ff9 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 8 Mar 2013 10:42:34 -0500 Subject: [PATCH] Don't mount /nix/store ro if it's a mountpoint In principle this could work, but the current remount logic in nix fails to remount mountpoints that are root in their own filesystem (as would be the case with bind-mounting a mountpoint over itself). nixos/nix#98 is aimed at fixing this. Signed-off-by: Shea Levy --- modules/system/boot/readonly-mountpoint.c | 2 +- modules/system/boot/stage-2-init.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/system/boot/readonly-mountpoint.c b/modules/system/boot/readonly-mountpoint.c index 605adfafabb..27b66687382 100644 --- a/modules/system/boot/readonly-mountpoint.c +++ b/modules/system/boot/readonly-mountpoint.c @@ -8,7 +8,7 @@ int main(int argc, char ** argv) { fprintf(stderr, "Usage: %s PATH", argv[0]); exit(2); } - if(statvfs(argv[1], &stat) != 0) { + if (statvfs(argv[1], &stat) != 0) { perror("statvfs"); exit(3); } diff --git a/modules/system/boot/stage-2-init.sh b/modules/system/boot/stage-2-init.sh index 6e23052e61d..deacedb18e3 100644 --- a/modules/system/boot/stage-2-init.sh +++ b/modules/system/boot/stage-2-init.sh @@ -51,7 +51,7 @@ echo "booting system configuration $systemConfig" > /dev/kmsg chown 0:30000 /nix/store chmod 1775 /nix/store if [ -n "@readOnlyStore@" ]; then - if ! readonly-mountpoint /nix/store; then + if ! mountpoint /nix/store; then mount --bind /nix/store /nix/store mount -o remount,ro,bind /nix/store fi