This:
ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/ext4-patches/2.6.20-ext4-1/broken-out/i_version_1_vfs_layer
significantly deoptimises file_update_time() for major filesystems (eg, ext3).
The changelog offers no reason for this alteration. In fact the changelog
basically says nothing at all and needs a lot of work.
What is this patch doing and why does it need to make that change?
Andrew Morton a ?crit :
> This:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/ext4-patches/2.6.20-ext4-1/broken-out/i_version_1_vfs_layer
>
> significantly deoptimises file_update_time() for major filesystems (eg, ext3).
>
> The changelog offers no reason for this alteration. In fact the changelog
> basically says nothing at all and needs a lot of work.
>
> What is this patch doing and why does it need to make that change?
>
Actually, this set of patches are still in progress. I recently profile
them. It shows that the CPU usage is really huge, so it has to be improved.
The i_version field is a counter that is set on every inode creation and
that is incremented every time the inode data is modified (similarly to
the "ctime" time-stamp).
The aim is to fulfill NFSv4 requirements for rfc3530.
For the moment, the counter is only a 32bit value but it is planned to
be 64bit as required.
The patch is divided into 3 parts, the vfs layer, the ext4 specific code
and an user part to check i_version changes via stat.
(cf http://permalink.gmane.org/gmane.comp.file-systems.ext4/923)