aio_ex 54 source3/smbd/aio.c static int handle_aio_read_complete(struct aio_extra *aio_ex, int errcode); aio_ex 55 source3/smbd/aio.c static int handle_aio_write_complete(struct aio_extra *aio_ex, int errcode); aio_ex 57 source3/smbd/aio.c static int aio_extra_destructor(struct aio_extra *aio_ex) aio_ex 59 source3/smbd/aio.c DLIST_REMOVE(aio_list_head, aio_ex); aio_ex 70 source3/smbd/aio.c struct aio_extra *aio_ex = TALLOC_ZERO_P(NULL, struct aio_extra); aio_ex 72 source3/smbd/aio.c if (!aio_ex) { aio_ex 80 source3/smbd/aio.c aio_ex->outbuf = TALLOC_ARRAY(aio_ex, char, buflen); aio_ex 81 source3/smbd/aio.c if (!aio_ex->outbuf) { aio_ex 82 source3/smbd/aio.c TALLOC_FREE(aio_ex); aio_ex 85 source3/smbd/aio.c DLIST_ADD(aio_list_head, aio_ex); aio_ex 86 source3/smbd/aio.c talloc_set_destructor(aio_ex, aio_extra_destructor); aio_ex 87 source3/smbd/aio.c aio_ex->fsp = fsp; aio_ex 88 source3/smbd/aio.c return aio_ex; aio_ex 120 source3/smbd/aio.c struct aio_extra *aio_ex; aio_ex 160 source3/smbd/aio.c if ((aio_ex = create_aio_extra(fsp, bufsize)) == NULL) { aio_ex 164 source3/smbd/aio.c aio_ex->handle_completion = handle_aio_read_complete; aio_ex 166 source3/smbd/aio.c construct_reply_common_req(req, aio_ex->outbuf); aio_ex 167 source3/smbd/aio.c srv_set_message(aio_ex->outbuf, 12, 0, True); aio_ex 168 source3/smbd/aio.c SCVAL(aio_ex->outbuf,smb_vwv0,0xFF); /* Never a chained reply. */ aio_ex 170 source3/smbd/aio.c a = &aio_ex->acb; aio_ex 175 source3/smbd/aio.c a->aio_buf = smb_buf(aio_ex->outbuf); aio_ex 186 source3/smbd/aio.c TALLOC_FREE(aio_ex); aio_ex 191 source3/smbd/aio.c aio_ex->req = talloc_move(aio_ex, &req); aio_ex 196 source3/smbd/aio.c (unsigned int)aio_ex->req->mid )); aio_ex 198 source3/smbd/aio.c srv_defer_sign_response(aio_ex->req->mid); aio_ex 212 source3/smbd/aio.c struct aio_extra *aio_ex; aio_ex 256 source3/smbd/aio.c if (!(aio_ex = create_aio_extra(fsp, bufsize))) { aio_ex 260 source3/smbd/aio.c aio_ex->handle_completion = handle_aio_write_complete; aio_ex 262 source3/smbd/aio.c construct_reply_common_req(req, aio_ex->outbuf); aio_ex 263 source3/smbd/aio.c srv_set_message(aio_ex->outbuf, 6, 0, True); aio_ex 264 source3/smbd/aio.c SCVAL(aio_ex->outbuf,smb_vwv0,0xFF); /* Never a chained reply. */ aio_ex 266 source3/smbd/aio.c a = &aio_ex->acb; aio_ex 282 source3/smbd/aio.c TALLOC_FREE(aio_ex); aio_ex 287 source3/smbd/aio.c aio_ex->req = talloc_move(aio_ex, &req); aio_ex 297 source3/smbd/aio.c SSVAL(aio_ex->outbuf,smb_vwv2,numtowrite); aio_ex 298 source3/smbd/aio.c SSVAL(aio_ex->outbuf,smb_vwv4,(numtowrite>>16)&1); aio_ex 299 source3/smbd/aio.c show_msg(aio_ex->outbuf); aio_ex 300 source3/smbd/aio.c if (!srv_send_smb(smbd_server_fd(),aio_ex->outbuf, aio_ex 302 source3/smbd/aio.c &aio_ex->req->pcd)) { aio_ex 309 source3/smbd/aio.c srv_defer_sign_response(aio_ex->req->mid); aio_ex 316 source3/smbd/aio.c (unsigned int)aio_ex->req->mid, outstanding_aio_calls )); aio_ex 327 source3/smbd/aio.c static int handle_aio_read_complete(struct aio_extra *aio_ex, int errcode) aio_ex 331 source3/smbd/aio.c char *outbuf = aio_ex->outbuf; aio_ex 333 source3/smbd/aio.c ssize_t nread = SMB_VFS_AIO_RETURN(aio_ex->fsp,&aio_ex->acb); aio_ex 343 source3/smbd/aio.c aio_ex->fsp->fsp_name, (int)nread, strerror(errcode) )); aio_ex 356 source3/smbd/aio.c aio_ex->fsp->fh->pos = aio_ex->acb.aio_offset + nread; aio_ex 357 source3/smbd/aio.c aio_ex->fsp->fh->position_information = aio_ex->fsp->fh->pos; aio_ex 361 source3/smbd/aio.c aio_ex->fsp->fsp_name, aio_ex 362 source3/smbd/aio.c (int)aio_ex->acb.aio_nbytes, (int)nread ) ); aio_ex 368 source3/smbd/aio.c IS_CONN_ENCRYPTED(aio_ex->fsp->conn), NULL)) { aio_ex 375 source3/smbd/aio.c aio_ex->fsp->fsp_name, (double)aio_ex->acb.aio_offset, aio_ex 386 source3/smbd/aio.c static int handle_aio_write_complete(struct aio_extra *aio_ex, int errcode) aio_ex 389 source3/smbd/aio.c files_struct *fsp = aio_ex->fsp; aio_ex 390 source3/smbd/aio.c char *outbuf = aio_ex->outbuf; aio_ex 391 source3/smbd/aio.c ssize_t numtowrite = aio_ex->acb.aio_nbytes; aio_ex 392 source3/smbd/aio.c ssize_t nwritten = SMB_VFS_AIO_RETURN(fsp,&aio_ex->acb); aio_ex 433 source3/smbd/aio.c bool write_through = BITSETW(aio_ex->req->vwv+7,0); aio_ex 455 source3/smbd/aio.c aio_ex->fsp->fh->pos = aio_ex->acb.aio_offset + nwritten; aio_ex 466 source3/smbd/aio.c fsp->fsp_name, (double)aio_ex->acb.aio_offset, aio_ex 477 source3/smbd/aio.c static bool handle_aio_completed(struct aio_extra *aio_ex, int *perr) aio_ex 481 source3/smbd/aio.c if(!aio_ex) { aio_ex 487 source3/smbd/aio.c err = SMB_VFS_AIO_ERROR(aio_ex->fsp, &aio_ex->acb); aio_ex 491 source3/smbd/aio.c aio_ex->req->mid, aio_ex->fsp->fsp_name )); aio_ex 497 source3/smbd/aio.c " canceled\n", aio_ex->req->mid)); aio_ex 498 source3/smbd/aio.c srv_cancel_sign_response(aio_ex->req->mid, false); aio_ex 502 source3/smbd/aio.c err = aio_ex->handle_completion(aio_ex, err); aio_ex 517 source3/smbd/aio.c struct aio_extra *aio_ex = find_aio_ex(mid); aio_ex 524 source3/smbd/aio.c if (!aio_ex) { aio_ex 531 source3/smbd/aio.c fsp = aio_ex->fsp; aio_ex 541 source3/smbd/aio.c if (!handle_aio_completed(aio_ex, &ret)) { aio_ex 545 source3/smbd/aio.c TALLOC_FREE(aio_ex); aio_ex 569 source3/smbd/aio.c struct aio_extra *aio_ex; aio_ex 582 source3/smbd/aio.c for( aio_ex = aio_list_head; aio_ex; aio_ex = aio_ex->next) { aio_ex 583 source3/smbd/aio.c if (aio_ex->fsp == fsp) { aio_ex 601 source3/smbd/aio.c for( i = 0, aio_ex = aio_list_head; aio_ex 602 source3/smbd/aio.c aio_ex; aio_ex 603 source3/smbd/aio.c aio_ex = aio_ex->next) { aio_ex 604 source3/smbd/aio.c if (aio_ex->fsp == fsp) { aio_ex 605 source3/smbd/aio.c aiocb_list[i++] = &aio_ex->acb; aio_ex 639 source3/smbd/aio.c aio_ex = find_aio_ex(mid); aio_ex 641 source3/smbd/aio.c if (!aio_ex) { aio_ex 648 source3/smbd/aio.c if (!handle_aio_completed(aio_ex, &err)) { aio_ex 651 source3/smbd/aio.c TALLOC_FREE(aio_ex); aio_ex 674 source3/smbd/aio.c struct aio_extra *aio_ex; aio_ex 676 source3/smbd/aio.c for( aio_ex = aio_list_head; aio_ex; aio_ex = aio_ex->next) { aio_ex 677 source3/smbd/aio.c if (aio_ex->fsp == fsp) { aio_ex 681 source3/smbd/aio.c SMB_VFS_AIO_CANCEL(fsp, &aio_ex->acb); aio_ex 682 source3/smbd/aio.c aio_ex->fsp = NULL; /* fsp will be closed when we