Ejemplo n.º 1
0
extern int
libcheck_check (struct checker * c)
{
	struct volume_access_inq inq;

	memset(&inq, 0, sizeof(struct volume_access_inq));
	if (0 != do_inq(c->fd, 0xC9, &inq, sizeof(struct volume_access_inq))) {
		MSG(c, MSG_RDAC_DOWN);
		return PATH_DOWN;
	} else {
		if ((inq.PQ_PDT & 0x20) || (inq.PQ_PDT & 0x7f)) {
			/* LUN not connected*/
			return PATH_DOWN;
		}
	}

	if (inq.avtcvp & 0x1) {
		MSG(c, MSG_RDAC_UP);
		return PATH_UP;
	}
	else {
		MSG(c, MSG_RDAC_GHOST);
		return PATH_GHOST;
	}
}
Ejemplo n.º 2
0
extern int
libcheck_check (struct checker * c)
{
	struct volume_access_inq inq;

	memset(&inq, 0, sizeof(struct volume_access_inq));
	if (0 != do_inq(c->fd, 0xC9, &inq, sizeof(struct volume_access_inq))) {
		MSG(c, MSG_RDAC_DOWN);
		return PATH_DOWN;
	}

	if (inq.avtcvp & 0x1) {
		MSG(c, MSG_RDAC_UP);
		return PATH_UP;
	}
	else {
		MSG(c, MSG_RDAC_GHOST);
		return PATH_GHOST;
	}
}