Lines Matching refs:server
97 int smbiod_register_server(struct smb_sb_info *server) in smbiod_register_server() argument
101 list_add(&server->entry, &smb_servers); in smbiod_register_server()
102 VERBOSE("%p\n", server); in smbiod_register_server()
112 void smbiod_unregister_server(struct smb_sb_info *server) in smbiod_unregister_server() argument
115 list_del_init(&server->entry); in smbiod_unregister_server()
116 VERBOSE("%p\n", server); in smbiod_unregister_server()
120 smbiod_flush(server); in smbiod_unregister_server()
123 void smbiod_flush(struct smb_sb_info *server) in smbiod_flush() argument
128 list_for_each_safe(tmp, n, &server->xmitq) { in smbiod_flush()
135 list_for_each_safe(tmp, n, &server->recvq) { in smbiod_flush()
150 int smbiod_retry(struct smb_sb_info *server) in smbiod_retry() argument
154 struct pid *pid = get_pid(server->conn_pid); in smbiod_retry()
157 VERBOSE("state: %d\n", server->state); in smbiod_retry()
158 if (server->state == CONN_VALID || server->state == CONN_RETRYING) in smbiod_retry()
161 smb_invalidate_inodes(server); in smbiod_retry()
168 head = server->xmitq.next; in smbiod_retry()
169 while (head != &server->xmitq) { in smbiod_retry()
186 head = server->recvq.next; in smbiod_retry()
187 while (head != &server->recvq) { in smbiod_retry()
194 list_move(&req->rq_queue, &server->xmitq); in smbiod_retry()
207 smb_close_socket(server); in smbiod_retry()
212 server->state = CONN_RETRIED; in smbiod_retry()
219 server->state = CONN_RETRYING; in smbiod_retry()
242 static void smbiod_handle_request(struct smb_sb_info *server) in smbiod_handle_request() argument
245 server->rstate = SMB_RECV_DROP; in smbiod_handle_request()
251 static void smbiod_doio(struct smb_sb_info *server) in smbiod_doio() argument
256 if (server->state != CONN_VALID) in smbiod_doio()
260 result = smb_request_recv(server); in smbiod_doio()
262 server->state = CONN_INVALID; in smbiod_doio()
263 smbiod_retry(server); in smbiod_doio()
265 } else if (server->rstate == SMB_RECV_REQUEST) in smbiod_doio()
266 smbiod_handle_request(server); in smbiod_doio()
272 if (server->state != CONN_VALID) in smbiod_doio()
274 if (smb_recv_available(server) > 0) in smbiod_doio()
278 result = smb_request_send_server(server); in smbiod_doio()
280 server->state = CONN_INVALID; in smbiod_doio()
281 smbiod_retry(server); in smbiod_doio()
289 if (!list_empty(&server->xmitq)) in smbiod_doio()
304 struct smb_sb_info *server; in smbiod() local
327 server = list_entry(pos, struct smb_sb_info, entry); in smbiod()
328 VERBOSE("checking server %p\n", server); in smbiod()
330 if (server->state == CONN_VALID) { in smbiod()
333 smb_lock_server(server); in smbiod()
334 smbiod_doio(server); in smbiod()
335 smb_unlock_server(server); in smbiod()