summaryrefslogtreecommitdiff
path: root/tests/mkdir
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 /tests/mkdir
parentc3d97a0aa6c0743b7318994d301488b1449d6474 (diff)
downloadcoreutils-d0df944db9f7cb39ece3599935c48e4fbc7e1a7c.tar.xz
*** empty log message ***
Diffstat (limited to 'tests/mkdir')
-rwxr-xr-xtests/mkdir/writable-under-readonly29
1 files changed, 29 insertions, 0 deletions
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]