mmap vs mtime in 2.6.26 and up

From: Ferenc Wagner
Date: Tue May 12 2009 - 08:32:50 EST


Hi,

I've noticed that the last modification times of our RRD files got
stuck after upgrading from 2.6.24 to 2.6.26 (Debian Etch -> Lenny; I
also tested with 2.6.30-rc5, they are still stuck). It has some
literature, most notably kernel bug #2645, but that's closed long ago
and the resulting patch http://lkml.org/lkml/2008/1/22/370 is present
in my kernels. Still, the test program (version 3 from the bug report)
gives failures:

$ ./mmap_test junk
Modifying junk...
Flushing data using sync()...
Failure: time not changed.
Not modifying junk...
Flushing data using msync()...
Success: time not changed.
Not modifying junk...
Flushing data using fsync()...
Success: time not changed.
Modifying junk...
Flushing data using msync()...
Failure: time not changed.
Modifying junk...
Flushing data using fsync()...
Failure: time not changed.

Is this as expected? I reckon the bug wasn't solved fully, but it
seems to be worse that that.

I don't know if it's related or not, but another anomaly appeared
after the upgrade: minutes-long remount times. The machine always was
under a fair load (10), but mount /usr -oremount,rw never took
noticeable time. The IO load pushes two other filesystems. Now
strace -tt shows:

[...]
01:24:08.463813 stat64("/sbin/mount.xfs", 0xbfa40eb0) = -1 ENOENT (No such file or directory)
01:24:08.463904 mount("/dev/mapper/noc7-usr", "/usr", 0x894a2c8, MS_MGC_VAL|MS_NODEV|MS_REMOUNT, NULL) = 0
01:26:58.705387 readlink("/dev", 0xbfa3ef3b, 4096) = -1 EINVAL (Invalid argument)
[...]

After this, remount ro and rw again are quick for some time.
(I couldn't test this part with 2.6.30-rc5, but again, this may be
totally unrelated.)

This bug is quite serious in our environment, as it thwarts the backup
software. The file system is xfs; rw,nosuid,nodev,nobarrier,noquota.
--
Regards,
Feri.
--
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/