Lines Matching defs:conn

96 	if (ksmbd_conn_exiting(work->conn) ||
97 ksmbd_conn_need_reconnect(work->conn)) {
108 static int __process_request(struct ksmbd_work *work, struct ksmbd_conn *conn,
119 conn->ops->set_rsp_status(work, STATUS_INVALID_PARAMETER);
123 command = conn->ops->get_cmd_val(work);
127 if (command >= conn->max_cmds) {
128 conn->ops->set_rsp_status(work, STATUS_INVALID_PARAMETER);
132 cmds = &conn->cmds[command];
135 conn->ops->set_rsp_status(work, STATUS_NOT_IMPLEMENTED);
139 if (work->sess && conn->ops->is_sign_req(work, command)) {
140 ret = conn->ops->check_sign_req(work);
142 conn->ops->set_rsp_status(work, STATUS_ACCESS_DENIED);
164 struct ksmbd_conn *conn)
170 if (conn->ops->allocate_rsp_buf(work))
173 if (conn->ops->is_transform_hdr &&
174 conn->ops->is_transform_hdr(work->request_buf)) {
175 rc = conn->ops->decrypt_req(work);
177 conn->ops->set_rsp_status(work, STATUS_DATA_ERROR);
184 rc = conn->ops->init_rsp_hdr(work);
187 conn->ops->set_rsp_status(work, STATUS_INVALID_HANDLE);
192 if (conn->ops->check_user_session) {
193 rc = conn->ops->check_user_session(work);
196 conn->ops->set_rsp_status(work,
199 conn->ops->set_rsp_status(work,
203 rc = conn->ops->get_ksmbd_tcon(work);
206 conn->ops->set_rsp_status(work,
209 conn->ops->set_rsp_status(work,
216 rc = __process_request(work, conn, &command);
224 if (conn->ops->set_rsp_credits) {
225 spin_lock(&conn->credits_lock);
226 rc = conn->ops->set_rsp_credits(work);
227 spin_unlock(&conn->credits_lock);
229 conn->ops->set_rsp_status(work,
239 conn->ops->is_sign_req(work, command)))
240 conn->ops->set_sign_rsp(work);
248 conn->ops->encrypt_resp) {
249 rc = conn->ops->encrypt_resp(work);
251 conn->ops->set_rsp_status(work, STATUS_DATA_ERROR);
266 struct ksmbd_conn *conn = work->conn;
268 atomic64_inc(&conn->stats.request_served);
270 __handle_ksmbd_work(work, conn);
279 if (!atomic_dec_return(&conn->r_count) && waitqueue_active(&conn->r_count_q))
280 wake_up(&conn->r_count_q);
286 * @conn: connection instance
290 static int queue_ksmbd_work(struct ksmbd_conn *conn)
301 work->conn = conn;
302 work->request_buf = conn->request_buf;
303 conn->request_buf = NULL;
312 atomic_inc(&conn->r_count);
314 conn->last_active = jiffies;
320 static int ksmbd_server_process_request(struct ksmbd_conn *conn)
322 return queue_ksmbd_work(conn);
325 static int ksmbd_server_terminate_conn(struct ksmbd_conn *conn)
327 ksmbd_sessions_deregister(conn);
328 destroy_lease_table(conn);
472 "oplock", "ipc", "conn",