Messages in this thread | | | Date | Thu, 3 May 2018 20:13:23 +0300 | From | Alexey Dobriyan <> | Subject | Re: [PATCH] proc: restore seekdir("/proc", 256) semantics |
| |
On Tue, May 01, 2018 at 03:23:07PM -0700, Andrew Morton wrote: > On Tue, 24 Apr 2018 00:50:09 +0300 Alexey Dobriyan <adobriyan@gmail.com> wrote: > > > Long time ago "/proc/self" was an honest symlink and all not-PID entries > > were output before /proc/$PID. To not lose /proc/self in readdir output > > after it became permanently positive dentry it was stuck before /proc/1. > > > > One side effect of the change was that the code > > > > d = opendir("/proc"); > > seekdir(d, 256); > > > > stopped pointing to the first PID for applications that want to skip all > > the crap. > > > > Later "/proc/thread-self" was added in the same way. > > > > It looks like ps and top aren't seeking over /proc but are simply > > skipping over so nobody noticed. > > > > Restore old behaviour, make seekdir(254) point to /proc/self and > > seekdir(255) point to /proc/thread-self. > > > > Gee. Why? That's a pretty weird artifact in the userspace API and if > we were able to withdraw it without damage then good, let's leave it > withdrawn?
I checked ps, top and htop, they are not doing seekdir(256). Apparently userspace devs were unaware of this trick. I'll remove this before anyone notices.
> I mean, if we're to make this a permanent part of the userspace API > then it should be documented in the proc(5) manpage and we should have > something in tools/testing/selftests to detect regressions in the > interface. Good luck with all that!
| |