s3: smbd: Use common function setup_readX_header() in aio read code.
authorJeremy Allison <jra@samba.org>
Mon, 13 Jun 2016 16:25:02 +0000 (09:25 -0700)
committerAlexander Bokovoy <ab@samba.org>
Sat, 18 Jun 2016 13:32:18 +0000 (15:32 +0200)
https://bugzilla.samba.org/show_bug.cgi?id=11845

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
source3/smbd/aio.c

index 2958ac38e93af4029a4f53452f1f72359e29f7c2..ff1be13824634f7978cee68ef20e501394b8e973 100644 (file)
@@ -272,7 +272,6 @@ static void aio_pread_smb1_done(struct tevent_req *req)
        files_struct *fsp = aio_ex->fsp;
        int outsize;
        char *outbuf = (char *)aio_ex->outbuf.data;
-       char *data = smb_buf(outbuf) + 1 /* padding byte */;
        ssize_t nread;
        struct vfs_aio_state vfs_aio_state;
 
@@ -301,13 +300,7 @@ static void aio_pread_smb1_done(struct tevent_req *req)
                ERROR_NT(map_nt_error_from_unix(vfs_aio_state.error));
                outsize = srv_set_message(outbuf,0,0,true);
        } else {
-               outsize = srv_set_message(outbuf, 12,
-                                         nread + 1 /* padding byte */, false);
-               SSVAL(outbuf,smb_vwv2, 0xFFFF); /* Remaining - must be * -1. */
-               SSVAL(outbuf,smb_vwv5, nread);
-               SSVAL(outbuf,smb_vwv6, smb_offset(data,outbuf));
-               SSVAL(outbuf,smb_vwv7, ((nread >> 16) & 1));
-               SSVAL(smb_buf(outbuf), -2, nread);
+               outsize = setup_readX_header(outbuf, nread);
 
                aio_ex->fsp->fh->pos = aio_ex->offset + nread;
                aio_ex->fsp->fh->position_information = aio_ex->fsp->fh->pos;