- on 2.4, timestamps are altered a few seconds after the program exits.
- on 2.6, timestamps are never altered.
Is this behaviour a normal behaviour ?
Program example to reproduce the bug (you need to create a "test" file in the current directory first):
#include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <fcntl.h>
int main(void) {
int fd = open("test", O_RDWR);
struct stat st;
char* file;
if (fd == -1) {
printf("error opening file\n");
return 1;
}
if (fstat(fd, &st) != 0) {
printf("error fstating file\n");
return 1;
} if (st.st_size == 0) {
printf("error empty file\n");
return 1;
} printf("Modified date before change: %u\n", st.st_mtime);file = mmap(NULL, st.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if (file == NULL) {
printf("error mmaping file");
return 1;
}file[0] = file[0] + 1;
if (msync((void*) file, st.st_size, MS_SYNC) != 0) {
printf("error syncing file");
return 1;
} if (munmap(file, st.st_size) != 0) {
printf("error closing file");
return 1;
} if (fstat(fd, &st) != 0) {
printf("error fstating file\n");
return 1;
} printf("Modified date after change: %u\n", st.st_mtime);return 0; }
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

