diff --git a/kmod/src/net.c b/kmod/src/net.c index d67c2db1..a217e19c 100644 --- a/kmod/src/net.c +++ b/kmod/src/net.c @@ -1154,6 +1154,17 @@ scoutfs_net_alloc_conn(struct super_block *sb, return conn; } +/* + * Give the caller the client node_id of the connection. This used by + * rare server processing callers who want to send async responses after + * request processing has returned. We didn't want to plumb the + * requesting node_id into all the request handlers but that'd work too. + */ +u64 scoutfs_net_client_node_id(struct scoutfs_net_connection *conn) +{ + return conn->node_id; +} + /* * Shutdown the connection. Once this returns no network traffic * or work will be executing. The caller can then connect or bind and diff --git a/kmod/src/net.h b/kmod/src/net.h index f318b2bf..cbbd29bc 100644 --- a/kmod/src/net.h +++ b/kmod/src/net.h @@ -28,6 +28,7 @@ scoutfs_net_alloc_conn(struct super_block *sb, scoutfs_net_notify_t notify_up, scoutfs_net_notify_t notify_down, size_t info_size, scoutfs_net_request_t *req_funcs, char *name_suffix); +u64 scoutfs_net_client_node_id(struct scoutfs_net_connection *conn); int scoutfs_net_connect(struct super_block *sb, struct scoutfs_net_connection *conn, struct sockaddr_in *sin, unsigned long timeout_ms);