#include <sys/mount.h>
#include <mntent.h>
#include <getopt.h>
-#include <sys/utsname.h>
#include "obdctl.h"
#include <lustre_ver.h>
#include <glob.h>
#include <ctype.h>
#include <limits.h>
+#include <mount_utils.h>
#define MAX_HW_SECTORS_KB_PATH "queue/max_hw_sectors_kb"
#define MAX_SECTORS_KB_PATH "queue/max_sectors_kb"
int nomtab = 0;
int fake = 0;
int force = 0;
-static char *progname = NULL;
+char *progname = NULL;
void usage(FILE *out)
{
"\t<mntopt>: one or more comma separated of:\n"
"\t\t(no)flock,(no)user_xattr,(no)acl\n"
"\t\tnosvc: only start MGC/MGS obds\n"
+ "\t\tnomgs: only start target obds, using existing MGS\n"
"\t\texclude=<ostname>[:<ostname>] : colon-separated list of "
"inactive OSTs (e.g. lustre-OST0001)\n"
);
if (verbose) {
for (i = 0; i < argc; i++)
printf("arg[%d] = %s\n", i, argv[i]);
- printf("source = %s (%s), target = %s\n", usource, source, target);
+ printf("source = %s (%s), target = %s\n", usource, source,
+ target);
printf("options = %s\n", orig_options);
}
if (set_tunables(source, strlen(source)) && verbose)
fprintf(stderr, "%s: unable to set tunables for %s"
- " (may cause reduced IO performance)",
+ " (may cause reduced IO performance)\n",
argv[0], source);
+ register_service_tags(usource, source, target);
+
if (!fake)
/* flags and target get to lustre_get_sb, but not
lustre_fill_super. Lustre ignores the flags, but mount