Re: [PATCH] update ctime and mtime for mmaped write

From: Miklos Szeredi
Date: Thu Feb 22 2007 - 15:49:21 EST


> > __fput() will be called when there are no more references to 'file',
> > then it will update the time if the flag is set. This applies to
> > regular files as well as devices.
> >
> >
>
> I suspect that you will find that, for a block device, the wrong inode
> gets updated. That's where the bd_inode_update_time() portion of my
> proposed patch came from.

How horrible :( I haven't noticed that part of the patch. But I don't
think that's needed. Updating the times through the file pointer
should be OK. You have this problem because you use the inode which
comes from the blockdev pseudo-filesystem.

>
> > But I've moved the check from __fput to remove_vma() in the next
> > revision of the patch, which would give slightly nicer semantics, and
> > be equally conforming.
>
> This still does not address the situation where a file is 'permanently'
> mmap'd, does it?

So? If application doesn't do msync, then the file times won't be
updated. That's allowed by the standard, and so portable applications
will have to call msync.

Thanks,
Miklos
-
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/