svn commit: samba r22411 - in branches/SAMBA_3_0/source/smbd: .

Michael Adam ma at sernet.de
Fri Apr 20 12:12:01 GMT 2007


Hi Jeremy,

could you please check the fix?!

Is "char *inbuf = aio_ex->inbuf;" correct in handle_aio_write_complete()?  
Or should it be NULL? - it is not used elsewhere.

Cheers, Michael

On Fr, Apr 20, 2007 at 12:06:39 +0000, obnox at samba.org wrote:
> Author: obnox
> Date: 2007-04-20 12:06:38 +0000 (Fri, 20 Apr 2007)
> New Revision: 22411
> 
> WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=22411
> 
> Log:
> Fix the build:
> 
> Prototype of create_aio_ex_read, set_message and definition of
> UNIXERROR have changed in r22389 and r22391? to require an additional
> "inbuf" argument. Some places in smbd/aio.c had not been adapted.
> 
> This patch fixes the build.
> 
> Michael
> 
> 
> Modified:
>    branches/SAMBA_3_0/source/smbd/aio.c
> 
> 
> Changeset:
> Modified: branches/SAMBA_3_0/source/smbd/aio.c
> ===================================================================
> --- branches/SAMBA_3_0/source/smbd/aio.c	2007-04-20 11:44:45 UTC (rev 22410)
> +++ branches/SAMBA_3_0/source/smbd/aio.c	2007-04-20 12:06:38 UTC (rev 22411)
> @@ -242,7 +242,7 @@
>  	bufsize = PTR_DIFF(smb_buf(outbuf),outbuf) + smb_maxcnt;
>  
>  	if ((aio_ex = create_aio_ex_read(fsp, bufsize,
> -					 SVAL(inbuf,smb_mid))) == NULL) {
> +					 SVAL(inbuf,smb_mid), inbuf)) == NULL) {
>  		DEBUG(10,("schedule_aio_read_and_X: malloc fail.\n"));
>  		return False;
>  	}
> @@ -382,6 +382,7 @@
>  	int ret = 0;
>  	int outsize;
>  	char *outbuf = aio_ex->outbuf;
> +	char *inbuf = aio_ex->inbuf;
>  	char *data = smb_buf(outbuf);
>  	ssize_t nread = SMB_VFS_AIO_RETURN(aio_ex->fsp,&aio_ex->acb);
>  
> @@ -405,7 +406,7 @@
>  		outsize = (UNIXERROR(ERRDOS,ERRnoaccess));
>  		ret = errno;
>  	} else {
> -		outsize = set_message(outbuf,12,nread,False);
> +		outsize = set_message(inbuf,outbuf,12,nread,False);
>  		SSVAL(outbuf,smb_vwv2,0xFFFF); /* Remaining - must be * -1. */
>  		SSVAL(outbuf,smb_vwv5,nread);
>  		SSVAL(outbuf,smb_vwv6,smb_offset(data,outbuf));
> @@ -418,7 +419,7 @@
>  			    aio_ex->acb.aio_nbytes, (int)nread ) );
>  
>  	}
> -	smb_setlen(aio_ex->inbuf,outbuf,outsize - 4);
> +	smb_setlen(inbuf,outbuf,outsize - 4);
>  	show_msg(outbuf);
>  	if (!send_smb(smbd_server_fd(),outbuf)) {
>  		exit_server_cleanly("handle_aio_read_complete: send_smb "
> @@ -443,6 +444,7 @@
>  	int ret = 0;
>  	files_struct *fsp = aio_ex->fsp;
>  	char *outbuf = aio_ex->outbuf;
> +	char *inbuf = aio_ex->inbuf;
>  	ssize_t numtowrite = aio_ex->acb.aio_nbytes;
>  	ssize_t nwritten = SMB_VFS_AIO_RETURN(fsp,&aio_ex->acb);
>  
> 

-- 

i.A. Michael Adam

-- 
Michael Adam <ma at sernet.de>
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.SerNet.DE, mailto: Info @ SerNet.DE


More information about the samba-technical mailing list