2007-02-15 08:27:02

by Andrew Morton

[permalink] [raw]
Subject: i_version_1_vfs_layer

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?


2007-02-16 16:01:52

by Cordenner jean noel

[permalink] [raw]
Subject: Re: i_version_1_vfs_layer

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)