extern int llapi_search_fsname(const char *pathname, char *fsname);
extern int llapi_getname(const char *path, char *buf, size_t size);
-extern void llapi_ping_target(char *obd_type, char *obd_name,
- char *obd_uuid, void *args);
-
extern int llapi_search_rootpath(char *pathname, const char *fsname);
extern int llapi_nodemap_exists(const char *name);
extern int llapi_mv(char *path, struct find_param *param);
MNTMODLDFLAGS := -rdynamic -ldl
MNTMODCFLAGS := -DPLUGIN_DIR=\"${pkglibdir}\"
+LIBCFSUTIL := $(top_builddir)/libcfs/libcfs/libcfsutil.a
+
LIBPTLCTL := $(top_builddir)/lnet/utils/libptlctl.a \
- $(top_builddir)/libcfs/libcfs/libcfsutil.a \
- $(top_builddir)/libcfs/libcfs/libcfs.a
+ $(top_builddir)/libcfs/libcfs/libcfs.a \
+ $(LIBCFSUTIL)
sbin_scripts = lrun
bin_scripts = llstat llobdstat plot-llstat llbackup
lctl_LDADD := liblustreapi.a $(LIBPTLCTL) $(PTHREAD_LIBS) $(LIBREADLINE)
lctl_DEPENDENCIES := $(LIBPTLCTL) liblustreapi.a
-lfs_SOURCES = lfs.c obd.c lustre_cfg.c
-lfs_LDADD := liblustreapi.a $(LIBPTLCTL) $(PTHREAD_LIBS) $(LIBREADLINE)
-lfs_DEPENDENCIES := $(LIBPTLCTL) liblustreapi.a
+lfs_SOURCES = lfs.c
+lfs_LDADD := liblustreapi.a $(LIBCFSUTIL) $(LIBREADLINE)
+lfs_DEPENDENCIES := liblustreapi.a
loadgen_SOURCES = loadgen.c lustre_cfg.c obd.c
loadgen_LDADD := liblustreapi.a $(LIBPTLCTL) $(PTHREAD_LIBS) $(LIBREADLINE)
#include <libcfs/libcfs.h>
#include <libcfs/libcfsutil.h>
-#include <lnet/lnetctl.h>
#include <lustre/lustreapi.h>
#include <lustre_ver.h>
-#include "obdctl.h"
/* all functions */
static int lfs_setstripe(int argc, char **argv);
return rc;
}
- rc = llapi_target_iterate(num_types, obd_types,
- mntdir, llapi_ping_target);
-
+ rc = llapi_target_check(num_types, obd_types, mntdir);
if (rc)
fprintf(stderr, "error: %s: %s status failed\n",
argv[0],argv[1]);
setlinebuf(stdout);
- ptl_initialize(argc, argv);
- if (obd_initialize(argc, argv) < 0)
- exit(2);
-
Parser_init("lfs > ", cmdlist);
if (argc > 1) {
rc = Parser_commands();
}
- obd_finalize(argc, argv);
return rc < 0 ? -rc : rc;
}
return 0;
}
-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);
- }
-}
-
int jt_changelog_register(int argc, char **argv)
{
char rawbuf[MAX_IOC_BUFLEN], *buf = rawbuf;