Re: [PATCH] vfs: Add a trace point in the mark_inode_dirty function

Ingo Molnar
2009-11-11T18:56:39Z

* Theodore Tso <tytso@mit.edu> wrote:

> On Wed, Nov 11, 2009 at 08:45:42AM +0100, Ingo Molnar wrote:
> > Without an inode->vfs-name lookup/matching service it's of limited
> > utility though to developers and users. So inode numbers are fine (as
> > nicely unique physical identifiers)- as long as corresponding vfs name
> > string is available too.
>
> Inode numbers are quite usable for me; but I'm not afraid to do
>
> debugfs /dev/sdb -R "ncheck 12345"
>
> :-)
>
> If you really want to avoid that, one relatively lightweight thing we
> could do, which would avoid needing to dump the entire pathname out,
> would be to print out the triple (devno, dir_ino, file_ino), and then
> provide a privileged syscall which translates this to a user-visible
> pathname. It won't be necessarily the pathname which the user used to
> open the file (since there might be links, and bind mounts, et. al),
> but if the goal is to give one of the user-friendly names of the inode
> (as opposed to _the_ pathname used to open the file), it's quite
> sufficient.

Hm, why add a new syscall to retrieve the name we already had when the
event happened?

Also, why add a new syscall to retrieve something that might not exist
anymore? (the VFS namespace is quite dynamic - post-processing to
retrieve names is fundamentally racy)

What matters most for analysis is the 'name of the moment' - the thing
that the app used at that point.

Arjan isnt doing this just randomly, he's one of the few people trying
to speed up Linux booting - and this is the info he finds useful. We
should give that information in a reasonable way, and the tracepoint he
proposed looks pretty reasonable.

Ingo