mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 16:12:59 +02:00
smb: smbdirect: introduce smbdirect_mr_io_fill_buffer_descriptor()
This will be used by the client instead of dereferencing struct smbdirect_mr_io internals. 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
099db5093e
commit
b183b7b9b5
|
|
@ -452,6 +452,24 @@ smbdirect_connection_register_mr_io(struct smbdirect_socket *sc,
|
|||
mutex_unlock(&mr->mutex);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
__maybe_unused /* this is temporary while this file is included in others */
|
||||
static void smbdirect_mr_io_fill_buffer_descriptor(struct smbdirect_mr_io *mr,
|
||||
struct smbdirect_buffer_descriptor_v1 *v1)
|
||||
{
|
||||
mutex_lock(&mr->mutex);
|
||||
if (mr->state == SMBDIRECT_MR_REGISTERED) {
|
||||
v1->offset = cpu_to_le64(mr->mr->iova);
|
||||
v1->token = cpu_to_le32(mr->mr->rkey);
|
||||
v1->length = cpu_to_le32(mr->mr->length);
|
||||
} else {
|
||||
v1->offset = cpu_to_le64(U64_MAX);
|
||||
v1->token = cpu_to_le32(U32_MAX);
|
||||
v1->length = cpu_to_le32(U32_MAX);
|
||||
}
|
||||
mutex_unlock(&mr->mutex);
|
||||
}
|
||||
|
||||
/*
|
||||
* Deregister a MR after I/O is done
|
||||
* This function may wait if remote invalidation is not used
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user