On Wed 07-02-24 10:54:34, Miklos Szeredi via Lsf-pc wrote: > [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. Yes, having this available would be really useful at times. Sometimes I had to resort to kprobes or good old printks. > 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). The problem always has been how to implement this functionality in a transparent way so the code does not become a mess. So if you have some idea, I'd say go for it :) Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR