Problem (possible bug) with the loopback block device

From: Andreas Heinlein
Date: Fri Feb 04 2011 - 10:31:16 EST


Hello,

I have observed the following behaviour and hope you can help me find
the source of it:
1. Create a (sparse) file of < 100MB on a removable drive, e.g. USB
drive (dd if=/dev/zero of=/media/Testdrive/testfile bs=1 count=1
seek=100000000)
2. Set up a loopback device with it (losetup -f /media/Testdrive/testfile)
3. Create a filesystem (mkfs.ext3 /dev/loopX) and mount it (mount
/dev/loopX /mnt)
5. Write some files there
6. Unplug the drive without unmounting anything
7. Attempt to write some more data to the loopback-mounted filesystem

Expected result: Write attempt gives an error
Actual result: Write succeeds, even 'sync' returns without error.
Written files can be read, as well as data written in step 5. Works as
long as data fits into the page cache (therefore the small file size).

Seen first on Ubuntu 10.04 with Linux 2.6.32, tested and verified also
with Fedora 14 (Linux 2.6.35), GRML 2010.04 (Linux 2.6.35). Ubuntu 11.04
alpha with Linux 2.6.37 immediately gave a kernel panic in step #7,
which is not much better. Same with Ubuntu 10.04 with Linux 2.6.37. Only
acceptable behaviour I saw was with OpenSuSE 11.3 (Linux 2.6.34) which
returned I/O error immediately and remounted the loopback'ed filesystem
read-only.

Thanks in advance,
Andreas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/