goto fail;
}
- if (io_queue_init(aio_pending_size, &io_ctx)) {
+ if (io_queue_init(get_aio_pending_size(), &io_ctx)) {
goto fail;
}
DEBUG(10,("init_aio_linux: initialized with up to %d events\n",
- aio_pending_size));
+ get_aio_pending_size()));
return true;
* Essentially we want this to be unlimited unless smb.conf
* says different.
*********************************************************************/
- aio_pending_size = lp_parm_int(
- SNUM(handle->conn), "aio_linux", "aio num events", 128);
+ set_aio_pending_size(lp_parm_int(
+ SNUM(handle->conn), "aio_linux", "aio num events", 128));
return SMB_VFS_NEXT_CONNECT(handle, service, user);
}
#include "../lib/util/tevent_unix.h"
#include "lib/tevent_wait.h"
+/****************************************************************************
+ Statics plus accessor functions.
+*****************************************************************************/
+
+static int aio_pending_size = 100; /* tevent supports 100 signals SA_SIGINFO */
+
+int get_aio_pending_size(void)
+{
+ return aio_pending_size;
+}
+
+void set_aio_pending_size(int newsize)
+{
+ aio_pending_size = newsize;
+}
+
/****************************************************************************
The buffer we keep around whilst an aio request is in process.
*****************************************************************************/
return NT_STATUS_RETRY;
}
- if (outstanding_aio_calls >= aio_pending_size) {
+ if (outstanding_aio_calls >= get_aio_pending_size()) {
DEBUG(10,("schedule_aio_read_and_X: Already have %d aio "
"activities outstanding.\n",
outstanding_aio_calls ));
return NT_STATUS_RETRY;
}
- if (outstanding_aio_calls >= aio_pending_size) {
+ if (outstanding_aio_calls >= get_aio_pending_size()) {
DEBUG(3,("schedule_aio_write_and_X: Already have %d aio "
"activities outstanding.\n",
outstanding_aio_calls ));
return NT_STATUS_RETRY;
}
- if (outstanding_aio_calls >= aio_pending_size) {
+ if (outstanding_aio_calls >= get_aio_pending_size()) {
DEBUG(10,("smb2: Already have %d aio "
"activities outstanding.\n",
outstanding_aio_calls ));
return NT_STATUS_RETRY;
}
- if (outstanding_aio_calls >= aio_pending_size) {
+ if (outstanding_aio_calls >= get_aio_pending_size()) {
DEBUG(3,("smb2: Already have %d aio "
"activities outstanding.\n",
outstanding_aio_calls ));