diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2011-12-19 04:05:43 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2012-01-24 20:36:17 (GMT) |
commit | 4e4d6d860b9393c5395ba5920edb5b4c5d43a3a3 (patch) | |
tree | 245addd82a018bd6a9483b01decfada9a13ffc3e /fs/devpts | |
parent | dcd6c92267155e70a94b3927bce681ce74b80d1f (diff) | |
download | linux-4e4d6d860b9393c5395ba5920edb5b4c5d43a3a3.tar.xz |
sysfs: Add s_hash to sysfs_dirent and order directory entries by hash
Compute a 31 bit hash of directory entries (that can fit in a signed
32bit off_t) and index the sysfs directory entries by that hash,
replacing the per directory indexes by name and by inode. Because we
now only use a single rbtree this reduces the size of sysfs_dirent by 2
pointers. Because we have fewer cases to deal with the code is now
simpler.
For now I use the simple hash that the dcache uses as that is easy to
use and seems simple enough.
In addition to makeing the code simpler using a hash for the file
position in readdir brings sysfs in line with other filesystems that
have non-trivial directory structures.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs/devpts')
0 files changed, 0 insertions, 0 deletions