aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/smbdirect.h
diff options
context:
space:
mode:
authorLong Li <longli@microsoft.com>2017-11-22 17:38:42 -0700
committerSteve French <smfrench@gmail.com>2018-01-24 19:49:06 -0600
commitd649e1bba3caee93bb000ff5ac6a65dfc115f8c2 (patch)
tree57f250f91444a9f74fd66508290feeac98779b2a /fs/cifs/smbdirect.h
parentCIFS: SMBD: Upper layer receives data via RDMA receive (diff)
downloadlinux-dev-d649e1bba3caee93bb000ff5ac6a65dfc115f8c2.tar.xz
linux-dev-d649e1bba3caee93bb000ff5ac6a65dfc115f8c2.zip
CIFS: SMBD: Implement function to send data via RDMA send
The transport doesn't maintain send buffers or send queue for transferring payload via RDMA send. There is no data copy in the transport on send. Signed-off-by: Long Li <longli@microsoft.com> Signed-off-by: Steve French <smfrench@gmail.com> Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com> Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
Diffstat (limited to '')
-rw-r--r--fs/cifs/smbdirect.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/cifs/smbdirect.h b/fs/cifs/smbdirect.h
index c072a68e1321..27453ef2181f 100644
--- a/fs/cifs/smbdirect.h
+++ b/fs/cifs/smbdirect.h
@@ -92,6 +92,9 @@ struct smbd_connection {
/* Activity accoutning */
/* Pending reqeusts issued from upper layer */
+ int smbd_send_pending;
+ wait_queue_head_t wait_smbd_send_pending;
+
int smbd_recv_pending;
wait_queue_head_t wait_smbd_recv_pending;
@@ -257,6 +260,7 @@ void smbd_destroy(struct smbd_connection *info);
/* Interface for carrying upper layer I/O through send/recv */
int smbd_recv(struct smbd_connection *info, struct msghdr *msg);
+int smbd_send(struct smbd_connection *info, struct smb_rqst *rqst);
#else
#define cifs_rdma_enabled(server) 0
@@ -266,6 +270,7 @@ static inline void *smbd_get_connection(
static inline int smbd_reconnect(struct TCP_Server_Info *server) {return -1; }
static inline void smbd_destroy(struct smbd_connection *info) {}
static inline int smbd_recv(struct smbd_connection *info, struct msghdr *msg) {return -1; }
+static inline int smbd_send(struct smbd_connection *info, struct smb_rqst *rqst) {return -1; }
#endif
#endif