summaryrefslogtreecommitdiffstats
path: root/source3/smbd/aio.c
diff options
context:
space:
mode:
authorOlaf Flebbe <o.flebbe@science-computing.de>2009-09-30 15:20:09 -0700
committerJeremy Allison <jra@samba.org>2009-09-30 15:20:09 -0700
commit087ba21b41f8a857d239d8842b6bcdf355ad61c8 (patch)
treef2301dc559c7a3cc3a4f5228fb44981a23dfe3b3 /source3/smbd/aio.c
parentbbf394f36dbf2516ba92035791ebb67380de8d6e (diff)
downloadsamba-087ba21b41f8a857d239d8842b6bcdf355ad61c8.tar.gz
samba-087ba21b41f8a857d239d8842b6bcdf355ad61c8.tar.xz
samba-087ba21b41f8a857d239d8842b6bcdf355ad61c8.zip
allow for outstanding_aio_calls to be decremented
Diffstat (limited to 'source3/smbd/aio.c')
-rw-r--r--source3/smbd/aio.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source3/smbd/aio.c b/source3/smbd/aio.c
index c0367a5ee81..491dd794646 100644
--- a/source3/smbd/aio.c
+++ b/source3/smbd/aio.c
@@ -184,6 +184,7 @@ bool schedule_aio_read_and_X(connection_struct *conn,
return False;
}
+ outstanding_aio_calls++;
aio_ex->req = talloc_move(aio_ex, &req);
DEBUG(10,("schedule_aio_read_and_X: scheduled aio_read for file %s, "
@@ -191,7 +192,6 @@ bool schedule_aio_read_and_X(connection_struct *conn,
fsp_str_dbg(fsp), (double)startpos, (unsigned int)smb_maxcnt,
(unsigned int)aio_ex->req->mid ));
- outstanding_aio_calls++;
return True;
}
@@ -279,6 +279,7 @@ bool schedule_aio_write_and_X(connection_struct *conn,
return False;
}
+ outstanding_aio_calls++;
aio_ex->req = talloc_move(aio_ex, &req);
/* This should actually be improved to span the write. */
@@ -302,7 +303,6 @@ bool schedule_aio_write_and_X(connection_struct *conn,
DEBUG(10,("schedule_aio_write_and_X: scheduled aio_write "
"behind for file %s\n", fsp_str_dbg(fsp)));
}
- outstanding_aio_calls++;
DEBUG(10,("schedule_aio_write_and_X: scheduled aio_write for file "
"%s, offset %.0f, len = %u (mid = %u) "
@@ -519,6 +519,8 @@ void smbd_aio_complete_mid(unsigned int mid)
struct aio_extra *aio_ex = find_aio_ex(mid);
int ret = 0;
+ outstanding_aio_calls--;
+
DEBUG(10,("smbd_aio_complete_mid: mid[%u]\n", mid));
if (!aio_ex) {