Lines Matching refs:mid

36 cifs_wake_up_task(struct mid_q_entry *mid)
38 if (mid->mid_state == MID_RESPONSE_RECEIVED)
39 mid->mid_state = MID_RESPONSE_READY;
40 wake_up_process(mid->callback_data);
56 temp->mid = get_mid(smb_buffer);
61 /* when mid allocated can be before when sent */
66 * The default is for the mid to be synchronous, so the
106 cifs_server_dbg(VFS, "Invalid mid allocation time\n");
142 trace_smb3_slow_rsp(smb_cmd, midEntry->mid, midEntry->pid,
145 pr_debug("slow rsp: cmd %d mid %llu",
146 midEntry->command, midEntry->mid);
160 delete_mid(struct mid_q_entry *mid)
162 spin_lock(&mid->server->mid_lock);
163 if (!(mid->mid_flags & MID_DELETED)) {
164 list_del_init(&mid->qhead);
165 mid->mid_flags |= MID_DELETED;
167 spin_unlock(&mid->server->mid_lock);
169 release_mid(mid);
374 * mid entry to be kept in the pending requests queue thus allowing
665 * processes a missing mid) and we exhausted most available
755 struct mid_q_entry *mid;
765 mid = alloc_mid(hdr, server);
766 if (mid == NULL)
769 rc = cifs_sign_rqst(rqst, server, &mid->sequence_number);
771 release_mid(mid);
775 return mid;
779 * Send a SMB request and set the callback function in the mid to handle
789 struct mid_q_entry *mid;
818 mid = server->ops->setup_async_request(server, rqst);
819 if (IS_ERR(mid)) {
822 return PTR_ERR(mid);
825 mid->receive = receive;
826 mid->callback = callback;
827 mid->callback_data = cbdata;
828 mid->handle = handle;
829 mid->mid_state = MID_REQUEST_SUBMITTED;
833 list_add_tail(&mid->qhead, &server->pending_mid_q);
837 * Need to store the time in mid before calling I/O. For call_async,
838 * I/O response may come back and free the mid entry on another thread.
840 cifs_save_when_sent(mid);
844 revert_current_mid(server, mid->credits);
846 delete_mid(mid);
886 cifs_sync_mid_result(struct mid_q_entry *mid, struct TCP_Server_Info *server)
890 cifs_dbg(FYI, "%s: cmd=%d mid=%llu state=%d\n",
891 __func__, le16_to_cpu(mid->command), mid->mid, mid->mid_state);
894 switch (mid->mid_state) {
908 if (!(mid->mid_flags & MID_DELETED)) {
909 list_del_init(&mid->qhead);
910 mid->mid_flags |= MID_DELETED;
913 cifs_server_dbg(VFS, "%s: invalid mid state mid=%llu state=%d\n",
914 __func__, mid->mid, mid->mid_state);
921 release_mid(mid);
927 struct mid_q_entry *mid)
930 server->ops->send_cancel(server, rqst, mid) : 0;
934 cifs_check_receive(struct mid_q_entry *mid, struct TCP_Server_Info *server,
937 unsigned int len = get_rfc1002_length(mid->resp_buf) + 4;
939 dump_smb(mid->resp_buf, min_t(u32, 92, len));
948 iov[0].iov_base = mid->resp_buf;
950 iov[1].iov_base = (char *)mid->resp_buf + 4;
954 mid->sequence_number);
961 return map_and_check_smb_error(mid, log_error);
970 struct mid_q_entry *mid;
976 rc = allocate_mid(ses, hdr, &mid);
979 rc = cifs_sign_rqst(rqst, ses->server, &mid->sequence_number);
981 delete_mid(mid);
984 return mid;
988 cifs_compound_callback(struct mid_q_entry *mid)
990 struct TCP_Server_Info *server = mid->server;
993 credits.value = server->ops->get_credits(mid);
996 add_credits(server, &credits, mid->optype);
998 if (mid->mid_state == MID_RESPONSE_RECEIVED)
999 mid->mid_state = MID_RESPONSE_READY;
1003 cifs_compound_last_callback(struct mid_q_entry *mid)
1005 cifs_compound_callback(mid);
1006 cifs_wake_up_task(mid);
1010 cifs_cancelled_callback(struct mid_q_entry *mid)
1012 cifs_compound_callback(mid);
1013 release_mid(mid);
1194 * we will collect credits granted by the server in the mid callbacks
1220 cifs_server_dbg(FYI, "Cancelling wait for mid %llu cmd: %d\n",
1221 midQ[i]->mid, le16_to_cpu(midQ[i]->command));
1241 /* mark this mid as cancelled to not free it below */
1680 __cifs_readv_discard(struct TCP_Server_Info *server, struct mid_q_entry *mid,
1686 dequeue_mid(mid, malformed);
1687 mid->resp_buf = server->smallbuf;
1693 cifs_readv_discard(struct TCP_Server_Info *server, struct mid_q_entry *mid)
1695 struct cifs_io_subrequest *rdata = mid->callback_data;
1697 return __cifs_readv_discard(server, mid, rdata->result);
1701 cifs_readv_receive(struct TCP_Server_Info *server, struct mid_q_entry *mid)
1705 struct cifs_io_subrequest *rdata = mid->callback_data;
1710 cifs_dbg(FYI, "%s: mid=%llu offset=%llu bytes=%zu\n",
1711 __func__, mid->mid, rdata->subreq.start, rdata->subreq.len);
1756 return __cifs_readv_discard(server, mid, false);
1765 return cifs_readv_discard(server, mid);
1784 return cifs_readv_discard(server, mid);
1808 return cifs_readv_discard(server, mid);
1830 return cifs_readv_discard(server, mid);
1832 dequeue_mid(mid, false);
1833 mid->resp_buf = server->smallbuf;