Author: adrian.chadd
Date: Fri Mar 27 19:00:46 2009
New Revision: 13879
Added:
branches/LUSCA_HEAD/libasyncio/aiops.h
Modified:
branches/LUSCA_HEAD/libasyncio/aiops.c
branches/LUSCA_HEAD/libasyncio/async_io.c
branches/LUSCA_HEAD/libasyncio/async_io.h
branches/LUSCA_HEAD/src/fs/aufs/store_dir_aufs.c
branches/LUSCA_HEAD/src/fs/aufs/store_io_aufs.c
branches/LUSCA_HEAD/src/fs/coss/store_dir_coss.c
branches/LUSCA_HEAD/src/fs/coss/store_io_coss.c
Log:
Migrate the aiops stuff into a new, separate include file.
Modified: branches/LUSCA_HEAD/libasyncio/aiops.c
==============================================================================
--- branches/LUSCA_HEAD/libasyncio/aiops.c (original)
+++ branches/LUSCA_HEAD/libasyncio/aiops.c Fri Mar 27 19:00:46 2009
@@ -80,6 +80,7 @@
#include "../libiapp/comm.h"
#include "../libiapp/disk.h"
+#include "aiops.h"
#include "async_io.h"
#define RIDICULOUS_LENGTH 4096
@@ -91,65 +92,6 @@
#endif
int squidaio_magic1 = 1; /* dummy initializer value */
int squidaio_magic2 = 1; /* real value set in aiops.c */
-
-enum _squidaio_thread_status {
- _THREAD_STARTING = 0,
- _THREAD_WAITING,
- _THREAD_BUSY,
- _THREAD_FAILED,
- _THREAD_DONE
-};
-typedef enum _squidaio_thread_status squidaio_thread_status;
-
-enum _squidaio_request_type {
- _AIO_OP_NONE = 0,
- _AIO_OP_OPEN,
- _AIO_OP_READ,
- _AIO_OP_WRITE,
- _AIO_OP_CLOSE,
- _AIO_OP_UNLINK,
- _AIO_OP_TRUNCATE,
- _AIO_OP_OPENDIR,
- _AIO_OP_STAT
-};
-typedef enum _squidaio_request_type squidaio_request_type;
-
-typedef struct squidaio_request_t {
- struct squidaio_request_t *next;
- squidaio_request_type request_type;
- int cancelled;
- char *path;
- int oflag;
- mode_t mode;
- int fd;
- char *bufferp;
- int buflen;
- off_t offset;
- int whence;
- int ret;
- int err;
- struct stat *tmpstatp;
- struct stat *statp;
- squidaio_result_t *resultp;
-} squidaio_request_t;
-
-typedef struct squidaio_request_queue_t {
- pthread_mutex_t mutex;
- pthread_cond_t cond;
- squidaio_request_t *volatile head;
- squidaio_request_t *volatile *volatile tailp;
- unsigned long requests;
- unsigned long blocked; /* main failed to lock the queue */
-} squidaio_request_queue_t;
-
-typedef struct squidaio_thread_t squidaio_thread_t;
-struct squidaio_thread_t {
- squidaio_thread_t *next;
- pthread_t thread;
- squidaio_thread_status status;
- struct squidaio_request_t *current_req;
- unsigned long requests;
-};
static void squidaio_queue_request(squidaio_request_t *);
static void squidaio_cleanup_request(squidaio_request_t *);
Added: branches/LUSCA_HEAD/libasyncio/aiops.h
==============================================================================
--- (empty file)
+++ branches/LUSCA_HEAD/libasyncio/aiops.h Fri Mar 27 19:00:46 2009
@@ -0,0 +1,90 @@
+#ifndef __LIBASYNCIO_AIOPS_H__
+#define __LIBASYNCIO_AIOPS_H__
+
+
+enum _squidaio_thread_status {
+ _THREAD_STARTING = 0,
+ _THREAD_WAITING,
+ _THREAD_BUSY,
+ _THREAD_FAILED,
+ _THREAD_DONE
+};
+typedef enum _squidaio_thread_status squidaio_thread_status;
+
+enum _squidaio_request_type {
+ _AIO_OP_NONE = 0,
+ _AIO_OP_OPEN,
+ _AIO_OP_READ,
+ _AIO_OP_WRITE,
+ _AIO_OP_CLOSE,
+ _AIO_OP_UNLINK,
+ _AIO_OP_TRUNCATE,
+ _AIO_OP_OPENDIR,
+ _AIO_OP_STAT
+};
+typedef enum _squidaio_request_type squidaio_request_type;
+
+struct _squidaio_result_t {
+ int aio_return;
+ int aio_errno;
+ void *_data; /* Internal housekeeping */
+ void *data; /* Available to the caller */
+};
+typedef struct _squidaio_result_t squidaio_result_t;
+
+typedef struct squidaio_request_t {
+ struct squidaio_request_t *next;
+ squidaio_request_type request_type;
+ int cancelled;
+ char *path;
+ int oflag;
+ mode_t mode;
+ int fd;
+ char *bufferp;
+ int buflen;
+ off_t offset;
+ int whence;
+ int ret;
+ int err;
+ struct stat *tmpstatp;
+ struct stat *statp;
+ squidaio_result_t *resultp;
+} squidaio_request_t;
+
+typedef struct squidaio_request_queue_t {
+ pthread_mutex_t mutex;
+ pthread_cond_t cond;
+ squidaio_request_t *volatile head;
+ squidaio_request_t *volatile *volatile tailp;
+ unsigned long requests;
+ unsigned long blocked; /* main failed to lock the queue */
+} squidaio_request_queue_t;
+
+typedef struct squidaio_thread_t squidaio_thread_t;
+struct squidaio_thread_t {
+ squidaio_thread_t *next;
+ pthread_t thread;
+ squidaio_thread_status status;
+ struct squidaio_request_t *current_req;
+ unsigned long requests;
+};
+
+void squidaio_init(void);
+void squidaio_shutdown(void);
+int squidaio_cancel(squidaio_result_t *);
+int squidaio_open(const char *, int, mode_t, squidaio_result_t *);
+int squidaio_read(int, char *, int, off_t, int, squidaio_result_t *);
+int squidaio_write(int, char *, int, off_t, int, squidaio_result_t *);
+int squidaio_close(int, squidaio_result_t *);
+int squidaio_stat(const char *, struct stat *, squidaio_result_t *);
+int squidaio_unlink(const char *, squidaio_result_t *);
+int squidaio_truncate(const char *, off_t length, squidaio_result_t *);
+int squidaio_opendir(const char *, squidaio_result_t *);
+squidaio_result_t *squidaio_poll_done(void);
+int squidaio_operations_pending(void);
+int squidaio_sync(void);
+int squidaio_get_queue_len(void);
+void *squidaio_xmalloc(int size);
+void squidaio_xfree(void *p, int size);
+
+#endif
Modified: branches/LUSCA_HEAD/libasyncio/async_io.c
==============================================================================
--- branches/LUSCA_HEAD/libasyncio/async_io.c (original)
+++ branches/LUSCA_HEAD/libasyncio/async_io.c Fri Mar 27 19:00:46 2009
@@ -85,7 +85,7 @@
#include "../libiapp/comm.h"
#include "../libiapp/disk.h"
-
+#include "aiops.h"
#include "async_io.h"
#define _AIO_OPEN 0
Modified: branches/LUSCA_HEAD/libasyncio/async_io.h
==============================================================================
--- branches/LUSCA_HEAD/libasyncio/async_io.h (original)
+++ branches/LUSCA_HEAD/libasyncio/async_io.h Fri Mar 27 19:00:46 2009
@@ -23,34 +23,7 @@
#define MAGIC2_FACTOR 20
#define MAGIC2 squidaio_magic2
-struct _squidaio_result_t {
- int aio_return;
- int aio_errno;
- void *_data; /* Internal housekeeping */
- void *data; /* Available to the caller */
-};
-
-typedef struct _squidaio_result_t squidaio_result_t;
-
typedef void AIOCB(int fd, void *cbdata, const char *buf, int aio_return,
int aio_errno);
-
-void squidaio_init(void);
-void squidaio_shutdown(void);
-int squidaio_cancel(squidaio_result_t *);
-int squidaio_open(const char *, int, mode_t, squidaio_result_t *);
-int squidaio_read(int, char *, int, off_t, int, squidaio_result_t *);
-int squidaio_write(int, char *, int, off_t, int, squidaio_result_t *);
-int squidaio_close(int, squidaio_result_t *);
-int squidaio_stat(const char *, struct stat *, squidaio_result_t *);
-int squidaio_unlink(const char *, squidaio_result_t *);
-int squidaio_truncate(const char *, off_t length, squidaio_result_t *);
-int squidaio_opendir(const char *, squidaio_result_t *);
-squidaio_result_t *squidaio_poll_done(void);
-int squidaio_operations_pending(void);
-int squidaio_sync(void);
-int squidaio_get_queue_len(void);
-void *squidaio_xmalloc(int size);
-void squidaio_xfree(void *p, int size);
void aioInit(void);
void aioDone(void);
Modified: branches/LUSCA_HEAD/src/fs/aufs/store_dir_aufs.c
==============================================================================
--- branches/LUSCA_HEAD/src/fs/aufs/store_dir_aufs.c (original)
+++ branches/LUSCA_HEAD/src/fs/aufs/store_dir_aufs.c Fri Mar 27 19:00:46
2009
@@ -35,6 +35,7 @@
#include "squid.h"
+#include "../../libasyncio/aiops.h"
#include "../../libasyncio/async_io.h"
#include "store_asyncufs.h"
Modified: branches/LUSCA_HEAD/src/fs/aufs/store_io_aufs.c
==============================================================================
--- branches/LUSCA_HEAD/src/fs/aufs/store_io_aufs.c (original)
+++ branches/LUSCA_HEAD/src/fs/aufs/store_io_aufs.c Fri Mar 27 19:00:46 2009
@@ -33,6 +33,7 @@
*/
#include "squid.h"
+#include "../../libasyncio/aiops.h"
#include "../../libasyncio/async_io.h"
#include "store_asyncufs.h"
Modified: branches/LUSCA_HEAD/src/fs/coss/store_dir_coss.c
==============================================================================
--- branches/LUSCA_HEAD/src/fs/coss/store_dir_coss.c (original)
+++ branches/LUSCA_HEAD/src/fs/coss/store_dir_coss.c Fri Mar 27 19:00:46
2009
@@ -34,11 +34,8 @@
*/
#include "squid.h"
-#if HAVE_AIO_H
-#include <aio.h>
-#endif
-
+#include "../../libasyncio/aiops.h"
#include "../../libasyncio/async_io.h"
#include "store_coss.h"
Modified: branches/LUSCA_HEAD/src/fs/coss/store_io_coss.c
==============================================================================
--- branches/LUSCA_HEAD/src/fs/coss/store_io_coss.c (original)
+++ branches/LUSCA_HEAD/src/fs/coss/store_io_coss.c Fri Mar 27 19:00:46 2009
@@ -35,6 +35,7 @@
#include "squid.h"
+#include "../../libasyncio/aiops.h"
#include "../../libasyncio/async_io.h"
#include "store_coss.h"
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"lusca-commit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/lusca-commit?hl=en
-~----------~----~----~----~------~----~------~--~---