2008-01-11 00:38:46

by Anton Salikhmetov

[permalink] [raw]
Subject: [PATCH 0/2][RFC][BUG] msync: another attempt to fix the ctime/mtime issue

From: Anton Salikhmetov <[email protected]>

I would like to propose my second solution for the bug #2645 from the
kernel bug tracker:

http://bugzilla.kernel.org/show_bug.cgi?id=2645

You may find the relevant background information as well as an extensive
discussion of my previous solution using the following link:

http://lkml.org/lkml/2008/1/9/387

The short change list:

1) taking into account the intervening sync() call which Peter Staubach
has mentioned (http://lkml.org/lkml/2008/1/9/267);
2) splitting the solution into two patches: code cleanup and functional
changes;
3) updating ctime and mtime in do_fsync(), due to that the file time stamps
get updated even without any explicit call to msync().

Please note that the second patch (functional changes) should be applied
on top of the first one (code cleanup).

Also I changed my unit test due to Peter's remark:

http://lkml.org/lkml/2008/1/9/267

The new version of the unit test can be found here:

http://bugzilla.kernel.org/attachment.cgi?id=14398&action=view

No regression was found when I ran the test cases for the msync() system
call from the LTP test suite (msync01 - msync05, mmapstress01,
mmapstress09, and mmapstress10).