*** empty log message ***
authorJim Meyering <jim@meyering.net>
Sat, 22 Oct 2005 18:11:07 +0000 (18:11 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 22 Oct 2005 18:11:07 +0000 (18:11 +0000)
ChangeLog
tests/mkdir/writable-under-readonly [new file with mode: 0755]

index 4bb7e1c90b6f0d283c45bd3f65d74149df235228..096fb93dc458cfd652f1138954b87cd5cb36eb87 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,12 @@
-2005-10-20  Jim Meyering  <jim@meyering.net>
+2005-10-22  Jim Meyering  <jim@meyering.net>
 
        * Version 5.92-cvs.
 
+       * tests/mkdir/writable-under-readonly: New test, neither run
+       nor distributed via tarballs.
+
+2005-10-20  Jim Meyering  <jim@meyering.net>
+
        * tests/chmod/octal: New file/test, to exercise today's
        lib/modechange.c fix.
        * tests/chmod/Makefile.am (TESTS): Add octal.
diff --git a/tests/mkdir/writable-under-readonly b/tests/mkdir/writable-under-readonly
new file mode 100755 (executable)
index 0000000..ab55a22
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/sh
+# This is just for the record.
+# This test is not run.
+
+# Test for the 2005-10-13 patch to lib/mkdir-p.c that fixed this sort
+# of bug in mkdir:
+#
+#   "mkdir -p /a/b/c" no longer fails merely because a leading prefix
+#   directory (e.g., /a or /a/b) exists on a read-only file system.
+#
+# Demonstrate the problem, as root:
+
+mount='sudo mount'
+
+cd /tmp                                    \
+  && dd if=/dev/zero of=1 bs=8192 count=50 \
+  && dd if=/dev/zero of=2 bs=8192 count=50 \
+  && mkdir -p mnt-ro && mkfs -t ext2 1 && mkfs -t ext2 2 \
+  && $mount -o loop=/dev/loop3 1 mnt-ro    \
+  && mkdir -p mnt-ro/rw                    \
+  && $mount -o remount,ro mnt-ro           \
+  && $mount -o loop=/dev/loop4 2 mnt-ro/rw
+
+mkdir -p mnt-ro/rw/sub || fail=1
+
+# To clean up
+umount /tmp/2
+umount /tmp/1
+rm -rf /tmp/[12]