Make the readsector0 checker use the async checker framework.
Signed-off-by: Martin Wilck <[email protected]>
---
libmultipath/checkers/readsector0.c | 28 +++++++---------------------
1 file changed, 7 insertions(+), 21 deletions(-)
diff --git a/libmultipath/checkers/readsector0.c
b/libmultipath/checkers/readsector0.c
index b041f11..fcc4ad1 100644
--- a/libmultipath/checkers/readsector0.c
+++ b/libmultipath/checkers/readsector0.c
@@ -1,41 +1,27 @@
/*
* Copyright (c) 2004, 2005 Christophe Varoqui
*/
-#include <stdio.h>
-
+#include <sys/types.h>
#include "checkers.h"
#include "libsg.h"
+#include "async_checker.h"
-struct readsector0_checker_context {
- void * dummy;
-};
-
-int libcheck_init (__attribute__((unused)) struct checker * c)
-{
- return 0;
-}
-
-void libcheck_free (__attribute__((unused)) struct checker * c)
-{
- return;
-}
-
-int libcheck_check (struct checker * c)
+int libcheck_async_func(struct runner_data *rdata)
{
unsigned char buf[4096];
unsigned char sbuf[SENSE_BUFF_LEN];
int ret;
- ret = sg_read(c->fd, &buf[0], 4096, &sbuf[0],
- SENSE_BUFF_LEN, c->timeout);
+ ret = sg_read(rdata->fd, &buf[0], 4096, &sbuf[0], SENSE_BUFF_LEN,
+ rdata->timeout);
switch (ret)
{
case PATH_DOWN:
- c->msgid = CHECKER_MSGID_DOWN;
+ rdata->msgid = CHECKER_MSGID_DOWN;
break;
case PATH_UP:
- c->msgid = CHECKER_MSGID_UP;
+ rdata->msgid = CHECKER_MSGID_UP;
break;
default:
break;
--
2.54.0