static int aio_extra_destructor(struct aio_extra *aio_ex)
{
DLIST_REMOVE(aio_list_head, aio_ex);
+ outstanding_aio_calls--;
return 0;
}
DLIST_ADD(aio_list_head, aio_ex);
talloc_set_destructor(aio_ex, aio_extra_destructor);
aio_ex->fsp = fsp;
+ outstanding_aio_calls++;
return aio_ex;
}
return NT_STATUS_RETRY;
}
- outstanding_aio_calls++;
aio_ex->smbreq = talloc_move(aio_ex, &smbreq);
DEBUG(10,("schedule_aio_read_and_X: scheduled aio_read for file %s, "
return NT_STATUS_RETRY;
}
- outstanding_aio_calls++;
aio_ex->smbreq = talloc_move(aio_ex, &smbreq);
/* This should actually be improved to span the write. */
return NT_STATUS_RETRY;
}
- outstanding_aio_calls++;
/* We don't need talloc_move here as both aio_ex and
* smbreq are children of smbreq->smb2req. */
aio_ex->smbreq = smbreq;
return NT_STATUS_RETRY;
}
- outstanding_aio_calls++;
/* We don't need talloc_move here as both aio_ex and
* smbreq are children of smbreq->smb2req. */
aio_ex->smbreq = smbreq;
files_struct *fsp = NULL;
int ret = 0;
- outstanding_aio_calls--;
-
DEBUG(10,("smbd_aio_complete_mid: mid[%llu]\n",
(unsigned long long)aio_ex->smbreq->mid));