m4_define([LUSTRE_PATCH],[54])
m4_define([LUSTRE_FIX],[0])
-dnl # don't forget to update the service tags info
-m4_define([CLIENT_URN],["LUSTRE-210-CLT"])
-m4_define([MDS_URN],["LUSTRE-210-MDS"])
-m4_define([MGS_URN],["LUSTRE-210-MGS"])
-m4_define([OSS_URN],["LUSTRE-210-OSS"])
-
dnl # liblustre delta is 0.0.1.32 , next version with fixes is ok, but
dnl # after following release candidate/beta would spill this warning already.
m4_define([LUSTRE_VER_ALLOWED_OFFSET],["OBD_OCD_VERSION(0,0,1,32)"])
[AC_LUSTRE_VER_ALLOWED_OFFSET]=LUSTRE_VER_ALLOWED_OFFSET
[AC_LUSTRE_LIB_VER_OFFSET_WARN]=LUSTRE_LIB_VER_OFFSET_WARN
[AC_LUSTRE_CLI_VER_OFFSET_WARN]=LUSTRE_CLI_VER_OFFSET_WARN
-[AC_LUSTRE_CLIENT_URN]=CLIENT_URN
-[AC_LUSTRE_MGS_URN]=MGS_URN
-[AC_LUSTRE_MDS_URN]=MDS_URN
-[AC_LUSTRE_OSS_URN]=OSS_URN
AC_SUBST([AC_LUSTRE_MAJOR])
AC_SUBST([AC_LUSTRE_MINOR])
AC_SUBST([AC_LUSTRE_VER_ALLOWED_OFFSET])
AC_SUBST([AC_LUSTRE_LIB_VER_OFFSET_WARN])
AC_SUBST([AC_LUSTRE_CLI_VER_OFFSET_WARN])
-AC_SUBST([AC_LUSTRE_CLIENT_URN])
-AC_SUBST([AC_LUSTRE_MDS_URN])
-AC_SUBST([AC_LUSTRE_MGS_URN])
-AC_SUBST([AC_LUSTRE_OSS_URN])
.B mount -t lustre -L testfs-MDT0000 -o abort_recov /mnt/test/mdt
Start the testfs-MDT0000 service (by using the disk label), but abort the
recovery process.
-.SH NOTES
-If the Service Tags tool (from the sun-servicetag package) can be found in
-/opt/sun/servicetag/bin/stclient an inventory service tag will be created
-reflecting the Lustre service being provided. If this tool cannot be found
-.B mount.lustre
-will silently ignore it and no service tag is created. The
-.BR stclient (1)
-tool only creates the local service tag. No information is sent to the asset
-management system until you run the Registration Client to collect the tags
-and then upload them to the inventory system using your inventory system account.
-See https://inventory.sun.com/ for more details on a web-based, free, IT asset
-management system.
.SH BUGS
Not very many mount options can be changed with
.BR "-o remount" .
/*
* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
+ * Copyright (c) 2012 Whamcloud, Inc.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
return ret;
}
-
-#define PARENT_URN "urn:uuid:2bb5bdbf-6c4b-11dc-9b8e-080020a9ed93"
-#define PARENT_PRODUCT "Lustre"
-
-static int stclient(char *type, char *arch)
-{
-
- char product[64];
- char *urn = NULL;
- char cmd[1024];
- FILE *fp;
- int i;
-
- if (strcmp(type, "Client") == 0)
- urn = CLIENT_URN;
- else if (strcmp(type, "MDS") == 0)
- urn = MDS_URN;
- else if (strcmp(type, "MGS") == 0)
- urn = MGS_URN;
- else if (strcmp(type, "OSS") == 0)
- urn = OSS_URN;
-
- snprintf(product, 64, "Lustre %s %d.%d.%d", type, LUSTRE_MAJOR,
- LUSTRE_MINOR, LUSTRE_PATCH);
-
- /* need to see if the entry exists first */
- snprintf(cmd, 1024,
- "/opt/sun/servicetag/bin/stclient -f -t '%s' ", urn);
- fp = popen(cmd, "r");
- if (!fp) {
- if (verbose)
- fprintf(stderr, "%s: trying to run stclient -f: %s\n",
- progname, strerror(errno));
- return 0;
- }
-
- i = fread(cmd, 1, sizeof(cmd), fp);
- if (i) {
- cmd[i] = 0;
- if (strcmp(cmd, "Record not found\n") != 0) {
- /* exists, just return */
- pclose(fp);
- return 0;
- }
- }
- pclose(fp);
-
- snprintf(cmd, 1024, "/opt/sun/servicetag/bin/stclient -a -p '%s' "
- "-e %d.%d.%d -t '%s' -S mount -F '%s' -P '%s' -m SUN "
- "-A %s -z global", product, LUSTRE_MAJOR, LUSTRE_MINOR,
- LUSTRE_PATCH, urn, PARENT_URN, PARENT_PRODUCT, arch);
-
- return(run_command(cmd, sizeof(cmd)));
-}
-
-void register_service_tags(char *usource, char *source, char *target)
-{
- struct lustre_disk_data mo_ldd;
- struct utsname utsname_buf;
- struct stat stat_buf;
- char stclient_loc[] = "/opt/sun/servicetag/bin/stclient";
- int rc;
-
- rc = stat(stclient_loc, &stat_buf);
-
- if (rc) {
- if (errno != ENOENT && verbose) {
- fprintf(stderr,
- "%s: trying to stat stclient failed: %s\n",
- progname, strerror(errno));
- }
-
- return;
- }
-
- /* call service tags stclient to show Lustre is in use on this system */
- rc = uname(&utsname_buf);
- if (rc) {
- if (verbose)
- fprintf(stderr,
- "%s: trying to get uname failed: %s, "
- "inventory tags will not be created\n",
- progname, strerror(errno));
- return;
- }
-
- /* client or server? */
- if (strchr(usource, ':')) {
- stclient("Client", utsname_buf.machine);
- } else {
- /* first figure what type of device it is */
- rc = get_mountdata(source, &mo_ldd);
- if (rc) {
- if (verbose)
- fprintf(stderr,
- "%s: trying to read mountdata from %s "
- "failed: %s, inventory tags will not "
- "be created\n",
- progname, target, strerror(errno));
- return;
- }
-
- if (IS_MDT(&mo_ldd))
- stclient("MDS", utsname_buf.machine);
-
- if (IS_MGS(&mo_ldd))
- stclient("MGS", utsname_buf.machine);
-
- if (IS_OST(&mo_ldd))
- stclient("OSS", utsname_buf.machine);
- }
-}