[I'm not planning to attend LSF this year, but I thought this topic might be of interest to those who will.] The errno thing is really ancient and yet quite usable. But when trying to find out where a particular EINVAL is coming from, that's often mission impossible. Would it make sense to add infrastructure to allow tracing the source of errors? E.g. strace --errno-trace ls -l foo ... statx(AT_FDCWD, "foo", ...) = -1 ENOENT [fs/namei.c:1852] ... Don't know about others, but this issue comes up quite often for me. I would implement this with macros that record the place where a particular error has originated, and some way to query the last one (which wouldn't be 100% accurate, but good enough I guess). Thanks, Miklos