mirror of
https://github.com/torvalds/linux.git
synced 2024-10-24 06:01:01 +00:00
CIFS: Add SMB2 support for async requests
Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org> Signed-off-by: Steve French <smfrench@gmail.com>
This commit is contained in:
parent
45740847e2
commit
c95b8eeda3
|
@ -209,6 +209,7 @@ smb2_build_path_to_root(struct smb_vol *vol, struct cifs_sb_info *cifs_sb,
|
||||||
|
|
||||||
struct smb_version_operations smb21_operations = {
|
struct smb_version_operations smb21_operations = {
|
||||||
.setup_request = smb2_setup_request,
|
.setup_request = smb2_setup_request,
|
||||||
|
.setup_async_request = smb2_setup_async_request,
|
||||||
.check_receive = smb2_check_receive,
|
.check_receive = smb2_check_receive,
|
||||||
.add_credits = smb2_add_credits,
|
.add_credits = smb2_add_credits,
|
||||||
.set_credits = smb2_set_credits,
|
.set_credits = smb2_set_credits,
|
||||||
|
|
|
@ -43,6 +43,10 @@ extern int smb2_check_receive(struct mid_q_entry *mid,
|
||||||
struct TCP_Server_Info *server, bool log_error);
|
struct TCP_Server_Info *server, bool log_error);
|
||||||
extern int smb2_setup_request(struct cifs_ses *ses, struct kvec *iov,
|
extern int smb2_setup_request(struct cifs_ses *ses, struct kvec *iov,
|
||||||
unsigned int nvec, struct mid_q_entry **ret_mid);
|
unsigned int nvec, struct mid_q_entry **ret_mid);
|
||||||
|
extern int smb2_setup_async_request(struct TCP_Server_Info *server,
|
||||||
|
struct kvec *iov, unsigned int nvec,
|
||||||
|
struct mid_q_entry **ret_mid);
|
||||||
|
extern void smb2_echo_request(struct work_struct *work);
|
||||||
|
|
||||||
extern int smb2_query_path_info(const unsigned int xid, struct cifs_tcon *tcon,
|
extern int smb2_query_path_info(const unsigned int xid, struct cifs_tcon *tcon,
|
||||||
struct cifs_sb_info *cifs_sb,
|
struct cifs_sb_info *cifs_sb,
|
||||||
|
|
|
@ -148,4 +148,25 @@ smb2_setup_request(struct cifs_ses *ses, struct kvec *iov,
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* BB add missing functions here */
|
int
|
||||||
|
smb2_setup_async_request(struct TCP_Server_Info *server, struct kvec *iov,
|
||||||
|
unsigned int nvec, struct mid_q_entry **ret_mid)
|
||||||
|
{
|
||||||
|
int rc = 0;
|
||||||
|
struct smb2_hdr *hdr = (struct smb2_hdr *)iov[0].iov_base;
|
||||||
|
struct mid_q_entry *mid;
|
||||||
|
|
||||||
|
smb2_seq_num_into_buf(server, hdr);
|
||||||
|
|
||||||
|
mid = smb2_mid_entry_alloc(hdr, server);
|
||||||
|
if (mid == NULL)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
|
/* rc = smb2_sign_smb2(iov, nvec, server);
|
||||||
|
if (rc) {
|
||||||
|
DeleteMidQEntry(mid);
|
||||||
|
return rc;
|
||||||
|
}*/
|
||||||
|
*ret_mid = mid;
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user