mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
smb: client: introduce and use smbd_mr_fill_buffer_descriptor()
This will allow us to make struct smbdirect_mr_io private in future. Cc: Steve French <smfrench@gmail.com> Cc: Tom Talpey <tom@talpey.com> Cc: Long Li <longli@microsoft.com> Cc: Namjae Jeon <linkinjeon@kernel.org> Cc: linux-cifs@vger.kernel.org Cc: samba-technical@lists.samba.org Signed-off-by: Stefan Metzmacher <metze@samba.org> Acked-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
63972da39f
commit
5bd752e774
|
|
@ -4554,9 +4554,7 @@ smb2_new_read_req(void **buf, unsigned int *total_len,
|
|||
req->ReadChannelInfoLength =
|
||||
cpu_to_le16(sizeof(struct smbdirect_buffer_descriptor_v1));
|
||||
v1 = (struct smbdirect_buffer_descriptor_v1 *) &req->Buffer[0];
|
||||
v1->offset = cpu_to_le64(rdata->mr->mr->iova);
|
||||
v1->token = cpu_to_le32(rdata->mr->mr->rkey);
|
||||
v1->length = cpu_to_le32(rdata->mr->mr->length);
|
||||
smbd_mr_fill_buffer_descriptor(rdata->mr, v1);
|
||||
|
||||
*total_len += sizeof(*v1) - 1;
|
||||
}
|
||||
|
|
@ -5155,9 +5153,7 @@ smb2_async_writev(struct cifs_io_subrequest *wdata)
|
|||
req->WriteChannelInfoLength =
|
||||
cpu_to_le16(sizeof(struct smbdirect_buffer_descriptor_v1));
|
||||
v1 = (struct smbdirect_buffer_descriptor_v1 *) &req->Buffer[0];
|
||||
v1->offset = cpu_to_le64(wdata->mr->mr->iova);
|
||||
v1->token = cpu_to_le32(wdata->mr->mr->rkey);
|
||||
v1->length = cpu_to_le32(wdata->mr->mr->length);
|
||||
smbd_mr_fill_buffer_descriptor(wdata->mr, v1);
|
||||
|
||||
rqst.rq_iov[0].iov_len += sizeof(*v1);
|
||||
|
||||
|
|
|
|||
|
|
@ -1294,6 +1294,12 @@ struct smbdirect_mr_io *smbd_register_mr(struct smbd_connection *info,
|
|||
return smbdirect_connection_register_mr_io(sc, iter, writing, need_invalidate);
|
||||
}
|
||||
|
||||
void smbd_mr_fill_buffer_descriptor(struct smbdirect_mr_io *mr,
|
||||
struct smbdirect_buffer_descriptor_v1 *v1)
|
||||
{
|
||||
smbdirect_mr_io_fill_buffer_descriptor(mr, v1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Deregister a MR after I/O is done
|
||||
* This function may wait if remote invalidation is not used
|
||||
|
|
|
|||
|
|
@ -60,6 +60,8 @@ int smbd_send(struct TCP_Server_Info *server,
|
|||
struct smbdirect_mr_io *smbd_register_mr(
|
||||
struct smbd_connection *info, struct iov_iter *iter,
|
||||
bool writing, bool need_invalidate);
|
||||
void smbd_mr_fill_buffer_descriptor(struct smbdirect_mr_io *mr,
|
||||
struct smbdirect_buffer_descriptor_v1 *v1);
|
||||
void smbd_deregister_mr(struct smbdirect_mr_io *mr);
|
||||
|
||||
#else
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user