summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2005-10-22 18:11:07 +0000
committerJim Meyering <jim@meyering.net>2005-10-22 18:11:07 +0000
commitd0df944db9f7cb39ece3599935c48e4fbc7e1a7c (patch)
tree6dc272d480ce562b0b00578a25a39c4332a21679
parentc3d97a0aa6c0743b7318994d301488b1449d6474 (diff)
downloadcoreutils-d0df944db9f7cb39ece3599935c48e4fbc7e1a7c.tar.xz
*** empty log message ***
-rw-r--r--ChangeLog7
-rwxr-xr-xtests/mkdir/writable-under-readonly29
2 files changed, 35 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 4bb7e1c90..096fb93dc 100644
--- 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
index 000000000..ab55a22a6
--- /dev/null
+++ b/tests/mkdir/writable-under-readonly
@@ -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]