* GPL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*/
/*
/* libcfs.h is not really needed here, but on SLES10/PPC, fs.h includes idr.h which
* requires BITS_PER_LONG to be defined */
#include <libcfs/libcfs.h>
+#ifndef BLKGETSIZE64
#include <linux/fs.h> /* for BLKGETSIZE64 */
+#endif
#include <linux/version.h>
#endif
#include <lustre_disk.h>
*/
"\t\t--comment=<user comment>: arbitrary user string (%d bytes)\n"
"\t\t--mountfsoptions=<opts> : permanent mount options\n"
+ "\t\t--network=<net>[,<...>] : network(s) to restrict this ost/mdt to\n"
#ifndef TUNEFS
"\t\t--backfstype=<fstype> : backing fs type (ext3, ldiskfs)\n"
"\t\t--device-size=#N(KB) : device size for loop devices\n"
vprint("formatting backing filesystem %s on %s\n",
MT_STR(&mop->mo_ldd), dev);
vprint("\ttarget name %s\n", mop->mo_ldd.ldd_svname);
- vprint("\t4k blocks %llu\n", block_count);
+ vprint("\t4k blocks "LPU64"\n", block_count);
vprint("\toptions %s\n", mop->mo_mkfsopts);
/* mkfs_cmd's trailing space is important! */
strscat(mkfs_cmd, " ", sizeof(mkfs_cmd));
strscat(mkfs_cmd, dev, sizeof(mkfs_cmd));
if (block_count != 0) {
- sprintf(buf, " %llu", block_count);
+ sprintf(buf, " "LPU64, block_count);
strscat(mkfs_cmd, buf, sizeof(mkfs_cmd));
}
{"verbose", 0, 0, 'v'},
{"writeconf", 0, 0, 'w'},
{"upgrade_to_18", 0, 0, 'U'},
+ {"network", 1, 0, 't'},
{0, 0, 0, 0}
};
char *optstring = "b:c:C:d:ef:Ghi:k:L:m:MnNo:Op:Pqru:vw";
case 'r':
mop->mo_flags |= MO_FORCEFORMAT;
break;
+ case 't':
+ if (!IS_MDT(&mop->mo_ldd) && !IS_OST(&mop->mo_ldd)) {
+ badopt(long_opt[longidx].name, "MDT,OST");
+ return 1;
+ }
+
+ if (!optarg)
+ return 1;
+
+ rc = add_param(mop->mo_ldd.ldd_params,
+ PARAM_NETWORK, optarg);
+ if (rc != 0)
+ return rc;
+ /* Must update the mgs logs */
+ mop->mo_ldd.ldd_flags |= LDD_F_UPDATE;
+ break;
case 'u':
strscpy(mop->mo_ldd.ldd_userdata, optarg,
sizeof(mop->mo_ldd.ldd_userdata));