Dipit Grover has uploaded this change for review.

View Change

svc_xprt: Maintain mapping between nfs41_session and connection

Each client session is associated with one or more connections. These
connections at the server are associated with either forechannel or
backchannel communication with the client.

When a connection is destroyed, we need a way to identify the sessions
that are associated with that connection. These sessions then need to
be dereferenced, their corresponding backchannel and forechannel need
to be destroyed and later updated.

Similarly, when a session is destroyed, we need a way to identify the
connections (svc-xprt objects) associated with that session. These
connections then need to be dereferenced, their session-references
need to be released.

This commit introduces the above session references onto the connection
(svc-xprt object) and vice versa. A new xprt-handler file is added,
which exposes the required functions to handle the lifecycle of the
updated transport object.

Change-Id: Iba121c05ff4b03d735851751b1977876b3280ffd
Signed-off-by: Dipit Grover <dipit@google.com>
---
M src/MainNFSD/nfs_rpc_dispatcher_thread.c
M src/Protocols/NFS/nfs4_op_create_session.c
M src/Protocols/NFS/nfs4_op_destroy_session.c
M src/SAL/nfs41_session_id.c
M src/SAL/nfs4_clientid.c
M src/include/sal_data.h
M src/include/sal_functions.h
A src/include/xprt_handler.h
M src/support/CMakeLists.txt
A src/support/xprt_handler.c
10 files changed, 304 insertions(+), 10 deletions(-)

git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/98/1172198/1

To view, visit change 1172198. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: Iba121c05ff4b03d735851751b1977876b3280ffd
Gerrit-Change-Number: 1172198
Gerrit-PatchSet: 1
Gerrit-Owner: Dipit Grover <dipitgrover@gmail.com>
Gerrit-MessageType: newchange