[PATCH v2 14/19] libmultipath: convert readsector0 checker to async checker
Martin Wilck <[email protected]>
| Newsgroups | dev.linux.lists.dm-devel |
|---|---|
| Message-ID | <[email protected]> |
Make the readsector0 checker use the async checker framework. Signed-off-by: Martin Wilck <[email protected]> Reviewed-by: Benjamin Marzinski <[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