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