1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

s3: smbd: Fix schedule_smb2_aio_read() to allow the last read in a compound to go async.

Remove knownfail.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>

Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Thu Dec  1 16:04:07 UTC 2022 on sn-devel-184
This commit is contained in:
Jeremy Allison 2022-11-18 10:50:35 -08:00 committed by Ralph Boehme
parent 0bb4810719
commit 39df9f4a59
2 changed files with 10 additions and 2 deletions

View File

@ -1 +0,0 @@
^samba3.smb2.compound_async.read_read\(fileserver\)

View File

@ -289,6 +289,8 @@ NTSTATUS schedule_smb2_aio_read(connection_struct *conn,
struct aio_extra *aio_ex;
size_t min_aio_read_size = lp_aio_read_size(SNUM(conn));
struct tevent_req *req;
bool is_compound = false;
bool is_last_in_compound = false;
bool ok;
ok = vfs_valid_pread_range(startpos, smb_maxcnt);
@ -316,7 +318,14 @@ NTSTATUS schedule_smb2_aio_read(connection_struct *conn,
return NT_STATUS_RETRY;
}
if (smbd_smb2_is_compound(smbreq->smb2req)) {
is_compound = smbd_smb2_is_compound(smbreq->smb2req);
is_last_in_compound = smbd_smb2_is_last_in_compound(smbreq->smb2req);
if (is_compound && !is_last_in_compound) {
/*
* Only allow going async if this is the last
* request in a compound.
*/
return NT_STATUS_RETRY;
}