-void llapi_ping_target(char *obd_type, char *obd_name,
- char *obd_uuid, void *args)
-{
- int rc;
- struct obd_ioctl_data data;
- char rawbuf[MAX_IOC_BUFLEN], *buf = rawbuf;
-
- memset(&data, 0, sizeof(data));
- data.ioc_inlbuf4 = obd_name;
- data.ioc_inllen4 = strlen(obd_name) + 1;
- data.ioc_dev = OBD_DEV_BY_DEVNAME;
- memset(buf, 0, sizeof(rawbuf));
- if (obd_ioctl_pack(&data, &buf, sizeof(rawbuf))) {
- fprintf(stderr, "error: invalid ioctl\n");
- return;
- }
- rc = l_ioctl(OBD_DEV_ID, OBD_IOC_PING_TARGET, buf);
- if (rc)
- rc = errno;
- if (rc == ENOTCONN || rc == ESHUTDOWN) {
- printf("%s: INACTIVE\n", obd_name);
- } else if (rc) {
- printf("%s: check error: %s\n",
- obd_name, strerror(errno));
- } else {
- printf("%s: active\n", obd_name);
- }
-}
-