]> git.decadent.org.uk Git - nfs-utils.git/commit
Exportfs and rpc.mountd optimalization
authorTomas Richter <krik3t@gmail.com>
Wed, 18 Feb 2009 18:33:27 +0000 (13:33 -0500)
committerSteve Dickson <steved@redhat.com>
Wed, 18 Feb 2009 18:33:27 +0000 (13:33 -0500)
commit4cacc965afc4fb03a465ffcc6cb3078aeadc3818
tree59f99682f299fbc6d0a877c484d6fde4a11528cb
parent35001db4aaafa8a17e13b8c13cf74508d4a93f2f
Exportfs and rpc.mountd optimalization

There were some problems with exportfs and rpc.mountd for long export
lists - see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=76643
I do optimalization as my bachelors thesis (Facuulty of informatics,
Masaryk's university Brno, Czech Republic), under lead of Yenya
Kasprzak.

Both exportfs and rpc.mount build linked list of exports (shared
functions in export.c). Every time they are inserting new export into
list, they search for same export in list.
I replaced linked list by hash table and functions export_add and
export_lookup by functions hash_export_add and hash_export_lookup
(export.c).

Because some other functions required exportlist as linked list, hash
table has some implementation modification im comparison with ordinary
hash table. It also keeps exports in linked list  and has pointer to
head of the list. So there's no need of implementation function
<for_all_in_hash_table>.

Signed-off-by: Tomas Richter <krik3t@gmail.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
support/export/export.c
support/export/xtab.c
support/include/exportfs.h
support/misc/tcpwrapper.c
utils/exportfs/exportfs.c
utils/mountd/auth.c
utils/mountd/cache.c
utils/mountd/mountd.c