*****************************************************************************/
static int aio_pending_size = 100; /* tevent supports 100 signals SA_SIGINFO */
+static int outstanding_aio_calls;
int get_aio_pending_size(void)
{
aio_pending_size = newsize;
}
+int get_outstanding_aio_calls(void)
+{
+ return outstanding_aio_calls;
+}
+
+void increment_outstanding_aio_calls(void)
+{
+ outstanding_aio_calls++;
+}
+
+void decrement_outstanding_aio_calls(void)
+{
+ outstanding_aio_calls--;
+}
+
/****************************************************************************
The buffer we keep around whilst an aio request is in process.
*****************************************************************************/
static int aio_extra_destructor(struct aio_extra *aio_ex)
{
- outstanding_aio_calls--;
+ decrement_outstanding_aio_calls();
return 0;
}
}
talloc_set_destructor(aio_ex, aio_extra_destructor);
aio_ex->fsp = fsp;
- outstanding_aio_calls++;
+ increment_outstanding_aio_calls();
return aio_ex;
}
return NT_STATUS_RETRY;
}
- if (outstanding_aio_calls >= get_aio_pending_size()) {
+ if (get_outstanding_aio_calls() >= get_aio_pending_size()) {
DEBUG(10,("schedule_aio_read_and_X: Already have %d aio "
"activities outstanding.\n",
- outstanding_aio_calls ));
+ get_outstanding_aio_calls() ));
return NT_STATUS_RETRY;
}
return NT_STATUS_RETRY;
}
- if (outstanding_aio_calls >= get_aio_pending_size()) {
+ if (get_outstanding_aio_calls() >= get_aio_pending_size()) {
DEBUG(3,("schedule_aio_write_and_X: Already have %d aio "
"activities outstanding.\n",
- outstanding_aio_calls ));
+ get_outstanding_aio_calls() ));
DEBUG(10,("schedule_aio_write_and_X: failed to schedule "
"aio_write for file %s, offset %.0f, len = %u "
"(mid = %u)\n",
"%s, offset %.0f, len = %u (mid = %u) "
"outstanding_aio_calls = %d\n",
fsp_str_dbg(fsp), (double)startpos, (unsigned int)numtowrite,
- (unsigned int)aio_ex->smbreq->mid, outstanding_aio_calls ));
+ (unsigned int)aio_ex->smbreq->mid,
+ get_outstanding_aio_calls() ));
return NT_STATUS_OK;
}
return NT_STATUS_RETRY;
}
- if (outstanding_aio_calls >= get_aio_pending_size()) {
+ if (get_outstanding_aio_calls() >= get_aio_pending_size()) {
DEBUG(10,("smb2: Already have %d aio "
"activities outstanding.\n",
- outstanding_aio_calls ));
+ get_outstanding_aio_calls() ));
return NT_STATUS_RETRY;
}
return NT_STATUS_RETRY;
}
- if (outstanding_aio_calls >= get_aio_pending_size()) {
+ if (get_outstanding_aio_calls() >= get_aio_pending_size()) {
DEBUG(3,("smb2: Already have %d aio "
"activities outstanding.\n",
- outstanding_aio_calls ));
+ get_outstanding_aio_calls() ));
return NT_STATUS_RETRY;
}
(double)in_offset,
(unsigned int)in_data.length,
(unsigned int)aio_ex->smbreq->mid,
- outstanding_aio_calls ));
+ get_outstanding_aio_calls() ));
return NT_STATUS_OK;
}