mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 17:13:52 +02:00
smb: move resume_key_ioctl_rsp to common/smb2pdu.h
Rename 2 places: - resume_key_req -> resume_key_ioctl_rsp - server: ResumeKey -> ResumeKeyU64 Merge the struct members of the server and the client, then move duplicate definitions to common header file. Co-developed-by: ChenXiaoSong <chenxiaosong@kylinos.cn> Signed-off-by: ChenXiaoSong <chenxiaosong@kylinos.cn> Signed-off-by: ZhangGuoDong <zhangguodong@kylinos.cn> Acked-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
cc26f593dc
commit
9c98f5eec8
|
|
@ -1528,7 +1528,7 @@ SMB2_request_res_key(const unsigned int xid, struct cifs_tcon *tcon,
|
|||
{
|
||||
int rc;
|
||||
unsigned int ret_data_len;
|
||||
struct resume_key_req *res_key;
|
||||
struct resume_key_ioctl_rsp *res_key;
|
||||
|
||||
rc = SMB2_ioctl(xid, tcon, persistent_fid, volatile_fid,
|
||||
FSCTL_SRV_REQUEST_RESUME_KEY, NULL, 0 /* no input */,
|
||||
|
|
@ -1541,7 +1541,7 @@ SMB2_request_res_key(const unsigned int xid, struct cifs_tcon *tcon,
|
|||
cifs_tcon_dbg(VFS, "refcpy ioctl error %d getting resume key\n", rc);
|
||||
goto req_res_key_exit;
|
||||
}
|
||||
if (ret_data_len < sizeof(struct resume_key_req)) {
|
||||
if (ret_data_len < sizeof(struct resume_key_ioctl_rsp)) {
|
||||
cifs_tcon_dbg(VFS, "Invalid refcopy resume key length\n");
|
||||
rc = -EINVAL;
|
||||
goto req_res_key_exit;
|
||||
|
|
|
|||
|
|
@ -193,12 +193,6 @@ struct crt_sd_ctxt {
|
|||
struct smb3_sd sd;
|
||||
} __packed;
|
||||
|
||||
struct resume_key_req {
|
||||
char ResumeKey[COPY_CHUNK_RES_KEY_SIZE];
|
||||
__le32 ContextLength; /* MBZ */
|
||||
char Context[]; /* ignored, Windows sets to 4 bytes of zero */
|
||||
} __packed;
|
||||
|
||||
/* See MS-FSCC 2.3.29 and 2.3.30 */
|
||||
struct get_retrieval_pointer_count_req {
|
||||
__le64 StartingVcn; /* virtual cluster number (signed) */
|
||||
|
|
|
|||
|
|
@ -1417,6 +1417,16 @@ struct copychunk_ioctl_rsp {
|
|||
__le32 TotalBytesWritten;
|
||||
} __packed;
|
||||
|
||||
/* See MS-SMB2 2.2.32.3 */
|
||||
struct resume_key_ioctl_rsp {
|
||||
union {
|
||||
char ResumeKey[COPY_CHUNK_RES_KEY_SIZE];
|
||||
__u64 ResumeKeyU64[3];
|
||||
};
|
||||
__le32 ContextLength; /* MBZ */
|
||||
char Context[]; /* ignored, Windows sets to 4 bytes of zero */
|
||||
} __packed;
|
||||
|
||||
struct smb2_ioctl_rsp {
|
||||
struct smb2_hdr hdr;
|
||||
__le16 StructureSize; /* Must be 49 */
|
||||
|
|
|
|||
|
|
@ -8112,8 +8112,8 @@ static int fsctl_request_resume_key(struct ksmbd_work *work,
|
|||
return -ENOENT;
|
||||
|
||||
memset(key_rsp, 0, sizeof(*key_rsp));
|
||||
key_rsp->ResumeKey[0] = req->VolatileFileId;
|
||||
key_rsp->ResumeKey[1] = req->PersistentFileId;
|
||||
key_rsp->ResumeKeyU64[0] = req->VolatileFileId;
|
||||
key_rsp->ResumeKeyU64[1] = req->PersistentFileId;
|
||||
ksmbd_fd_put(work, fp);
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -168,12 +168,6 @@ struct file_object_buf_type1_ioctl_rsp {
|
|||
__u8 DomainId[16];
|
||||
} __packed;
|
||||
|
||||
struct resume_key_ioctl_rsp {
|
||||
__u64 ResumeKey[3];
|
||||
__le32 ContextLength;
|
||||
__u8 Context[4]; /* ignored, Windows sets to 4 bytes of zero */
|
||||
} __packed;
|
||||
|
||||
struct file_sparse {
|
||||
__u8 SetSparse;
|
||||
} __packed;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user