2010-08-03 16:03:32 +00:00
|
|
|
// (c) 2010 Thomas Schoebel-Theuer / 1&1 Internet AG
|
|
|
|
#ifndef MARS_CHECK_H
|
|
|
|
#define MARS_CHECK_H
|
|
|
|
|
2010-08-08 09:03:42 +00:00
|
|
|
//#define CHECK_LOCK
|
|
|
|
|
2010-08-05 15:54:48 +00:00
|
|
|
struct check_mars_ref_aspect {
|
|
|
|
GENERIC_ASPECT(mars_ref);
|
2010-08-08 09:03:42 +00:00
|
|
|
#ifdef CHECK_LOCK
|
2010-08-05 15:54:48 +00:00
|
|
|
struct list_head mref_head;
|
2010-08-08 09:03:42 +00:00
|
|
|
#endif
|
2010-08-05 15:54:48 +00:00
|
|
|
void (*old_buf_endio)(struct mars_ref_object *mref);
|
2010-08-03 16:03:32 +00:00
|
|
|
void *old_private;
|
|
|
|
unsigned long last_jiffies;
|
2010-08-05 08:36:36 +00:00
|
|
|
int call_count;
|
2010-08-03 16:03:32 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct check_brick {
|
|
|
|
MARS_BRICK(check);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct check_input {
|
|
|
|
MARS_INPUT(check);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct check_output {
|
|
|
|
MARS_OUTPUT(check);
|
|
|
|
int instance_nr;
|
|
|
|
struct task_struct *watchdog;
|
2010-08-08 09:03:42 +00:00
|
|
|
#ifdef CHECK_LOCK
|
|
|
|
spinlock_t check_lock;
|
2010-08-03 16:03:32 +00:00
|
|
|
struct list_head mio_anchor;
|
2010-08-05 15:54:48 +00:00
|
|
|
struct list_head mref_anchor;
|
2010-08-08 09:03:42 +00:00
|
|
|
#endif
|
2010-08-03 16:03:32 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
MARS_TYPES(check);
|
|
|
|
|
|
|
|
#endif
|