4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 only,
8 * as published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License version 2 for more details (a copy is included
14 * in the LICENSE file that accompanied this code).
16 * You should have received a copy of the GNU General Public License
17 * version 2 along with this program; If not, see
18 * http://www.gnu.org/licenses/gpl-2.0.html
23 * Copyright (c) 2018, Intel Corporation.
29 #endif /* HAVE_CONFIG_H */
37 #include "mount_utils.h"
42 int main(int argc, char *const argv[])
44 struct mount_opts mop = {
45 .mo_max_sectors_kb = -1
47 struct lustre_disk_data *ldd = &mop.mo_ldd;
49 char real_path[PATH_MAX] = {'\0'};
50 unsigned int mount_type;
54 progname = strrchr(argv[0], '/');
55 progname = progname ? progname + 1 : argv[0];
59 vprint("%s: osd_init() failed to initialize: %d\n",
64 /* device is last arg */
65 mop.mo_usource = argv[argc - 1];
67 mop.mo_source = realpath(mop.mo_usource, real_path);
68 if (mop.mo_source == NULL) {
69 vprint("%s: No realpath for %s\n", progname, mop.mo_usource);
73 /* Check whether the disk has already been formatted by mkfs.lustre */
74 ret = osd_is_lustre(mop.mo_source, &mount_type);
78 ldd->ldd_mount_type = mount_type;
80 ret = osd_read_ldd(mop.mo_source, ldd);
82 fprintf(stderr, "Failed to read previous Lustre data from %s "
83 "(%d)\n", mop.mo_source, ret);
87 ret = osd_tune_lustre(mop.mo_source, &mop);