Mount -o sync regression in 2.6.31

From: Stephen Hemminger
Date: Wed Nov 11 2009 - 15:34:14 EST


One of the configurations supported in our specialized distribution is using
floppy to store configuration information (and live cd for everything else).
The floppy is mounted with '-o sync' so that if floppy is removed the files
are still updated. The floppy is formatted with ext2 filesystem.

This broke somewhere between 2.6.30 and 2.6.31-rc1, and was caught by our
release regression system (with VMware pseudo-floppys) but it is easily
reproducible with real hardware.

The following sequence demonstrates this:

# mount /dev/fd0 /mnt -o sync,noatime,noexec,nosuid
# cp /etc/motd /mnt/motd.$$

(Manually eject floppy)

# umount /mnt

(I/O errors occur)

With -o sync, all I/O should have been completed when the copy was done.

This may also effect people using -o sync on USB thumb drives as well.

I tried the obvious bisection, but git bisect seems to wonder off into the
weeds now. There is no reason that bisecting between v2.6.30 and v2.6.31-rc1
should go off into v2.6.30-rc2

--
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/