Messages in this thread | | | Date | Fri, 3 Oct 2014 13:55:51 +0300 | Subject | Re: [RFC PATCH linux 2/2] fs/proc: use a hash table for the directory entries | From | Alexey Dobriyan <> |
| |
On Thu, Oct 2, 2014 at 6:25 PM, Nicolas Dichtel <nicolas.dichtel@6wind.com> wrote: > --- a/fs/proc/generic.c > +++ b/fs/proc/generic.c > @@ -81,10 +81,13 @@ static int __xlate_proc_name(const char *name, struct proc_dir_entry **ret,
> + if (!S_ISDIR(de->mode)) > + return -EINVAL;
There are way too many S_ISDIR checks. In lookup and readdir, it is guaranteed that PDE is directory.
I'd say all of them aren't needed because non-directories have ->subdir = NULL and directories have ->subdir != NULL which transforms into hashtable or rbtree or whatever, so you only need to guarantee only directories appear where they are expected and fearlessly use your new data structure traversing directories.
Alexey
| |