summaryrefslogtreecommitdiffstats
path: root/source3/smbd/aio.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-06-04 11:30:46 -0700
committerJeremy Allison <jra@samba.org>2010-06-04 11:30:46 -0700
commite0acee4919d1f416c98faa1a0ebc779f3716ab70 (patch)
tree261b500343f5eeed7ebe51b9d1f749941780f074 /source3/smbd/aio.c
parent15f64af8e3d5aa889a9c9fb852a3357237ba9972 (diff)
downloadsamba-e0acee4919d1f416c98faa1a0ebc779f3716ab70.tar.gz
samba-e0acee4919d1f416c98faa1a0ebc779f3716ab70.tar.xz
samba-e0acee4919d1f416c98faa1a0ebc779f3716ab70.zip
Change smbd_aio_complete_mid() -> smbd_aio_complete_aio_ex(). Simplifies
the code and eliminates find_aio_ex(). Jeremy.
Diffstat (limited to 'source3/smbd/aio.c')
-rw-r--r--source3/smbd/aio.c36
1 files changed, 4 insertions, 32 deletions
diff --git a/source3/smbd/aio.c b/source3/smbd/aio.c
index 8cc26f1fef1..c7a70b3e543 100644
--- a/source3/smbd/aio.c
+++ b/source3/smbd/aio.c
@@ -62,7 +62,7 @@ static void smbd_aio_signal_handler(struct tevent_context *ev_ctx,
struct aio_extra *aio_ex = (struct aio_extra *)
info->si_value.sival_ptr;
- smbd_aio_complete_mid(aio_ex->req->mid);
+ smbd_aio_complete_aio_ex(aio_ex);
}
@@ -123,26 +123,6 @@ static struct aio_extra *create_aio_extra(files_struct *fsp, size_t buflen)
}
/****************************************************************************
- Given the mid find the extended aio struct containing it.
-*****************************************************************************/
-
-static struct aio_extra *find_aio_ex(uint64_t mid)
-{
- struct aio_extra *p;
-
- for( p = aio_list_head; p; p = p->next) {
- if (mid == p->req->mid) {
- return p;
- }
- }
- return NULL;
-}
-
-/****************************************************************************
- We can have these many aio buffers in flight.
-*****************************************************************************/
-
-/****************************************************************************
Set up an aio request from a SMBreadX call.
*****************************************************************************/
@@ -577,23 +557,15 @@ static bool handle_aio_completed(struct aio_extra *aio_ex, int *perr)
Handle any aio completion inline.
*****************************************************************************/
-void smbd_aio_complete_mid(uint64_t mid)
+void smbd_aio_complete_aio_ex(struct aio_extra *aio_ex)
{
files_struct *fsp = NULL;
- struct aio_extra *aio_ex = find_aio_ex(mid);
int ret = 0;
outstanding_aio_calls--;
DEBUG(10,("smbd_aio_complete_mid: mid[%llu]\n",
- (unsigned long long)mid));
-
- if (!aio_ex) {
- DEBUG(3,("smbd_aio_complete_mid: Can't find record to "
- "match mid %llu.\n",
- (unsigned long long)mid));
- return;
- }
+ (unsigned long long)aio_ex->req->mid));
fsp = aio_ex->fsp;
if (fsp == NULL) {
@@ -601,7 +573,7 @@ void smbd_aio_complete_mid(uint64_t mid)
* ignore. */
DEBUG( 3,( "smbd_aio_complete_mid: file closed whilst "
"aio outstanding (mid[%llu]).\n",
- (unsigned long long)mid));
+ (unsigned long long)aio_ex->req->mid));
return;
}