cifs: convert tlink_tree to a rbtree
authorJeff Layton <jlayton@redhat.com>
Thu, 28 Oct 2010 15:16:44 +0000 (11:16 -0400)
committerSteve French <sfrench@us.ibm.com>
Tue, 2 Nov 2010 19:20:23 +0000 (19:20 +0000)
commitb647c35f77af9c07d336247b23014596e9f0a593
tree653949250681fd1c23ad529b631da793f95778a6
parent413e661c136c52290de1ee19a1b049a4da9dbf51
cifs: convert tlink_tree to a rbtree

Radix trees are ideal when you want to track a bunch of pointers and
can't embed a tracking structure within the target of those pointers.
The tradeoff is an increase in memory, particularly if the tree is
sparse.

In CIFS, we use the tlink_tree to track tcon_link structs. A tcon_link
can never be in more than one tlink_tree, so there's no impediment to
using a rb_tree here instead of a radix tree.

Convert the new multiuser mount code to use a rb_tree instead. This
should reduce the memory required to manage the tlink_tree.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/cifs_fs_sb.h
fs/cifs/cifsfs.c
fs/cifs/cifsglob.h
fs/cifs/connect.c