Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
LU-6210 utils: Use C99 struct initializers in lfs_hsm_request()
[fs/lustre-release.git]
/
lustre
/
utils
/
lfs.c
diff --git
a/lustre/utils/lfs.c
b/lustre/utils/lfs.c
index
7a48345
..
35c908e
100644
(file)
--- a/
lustre/utils/lfs.c
+++ b/
lustre/utils/lfs.c
@@
-1888,54
+1888,65
@@
static int lfs_find(int argc, char **argv)
{
int c, rc;
int ret = 0;
-
time_t t;
+ time_t t;
struct find_param param = {
.fp_max_depth = -1,
.fp_quiet = 1,
};
struct option long_opts[] = {
- {"atime", required_argument, 0, 'A'},
- {"comp-count", required_argument, 0, LFS_COMP_COUNT_OPT},
- {"component-count", required_argument, 0, LFS_COMP_COUNT_OPT},
- {"comp-flags", required_argument, 0, LFS_COMP_FLAGS_OPT},
- {"component-flags", required_argument, 0, LFS_COMP_FLAGS_OPT},
- {"comp-start", required_argument, 0, LFS_COMP_START_OPT},
- {"component-start", required_argument, 0, LFS_COMP_START_OPT},
- {"stripe-count", required_argument, 0, 'c'},
- {"stripe_count", required_argument, 0, 'c'},
- {"ctime", required_argument, 0, 'C'},
- {"maxdepth", required_argument, 0, 'D'},
- {"comp-end", required_argument, 0, 'E'},
- {"component-end", required_argument, 0, 'E'},
- {"gid", required_argument, 0, 'g'},
- {"group", required_argument, 0, 'G'},
- {"mdt-hash", required_argument, 0, 'H'},
- {"stripe-index", required_argument, 0, 'i'},
- {"stripe_index", required_argument, 0, 'i'},
- /*{"component-id", required_argument, 0, 'I'},*/
- {"layout", required_argument, 0, 'L'},
- {"mdt", required_argument, 0, 'm'},
- {"mdt-index", required_argument, 0, 'm'},
- {"mdt_index", required_argument, 0, 'm'},
- {"mtime", required_argument, 0, 'M'},
- {"name", required_argument, 0, 'n'},
+ { .val = 'A', .name = "atime", .has_arg = required_argument },
+ { .val = LFS_COMP_COUNT_OPT,
+ .name = "comp-count", .has_arg = required_argument },
+ { .val = LFS_COMP_COUNT_OPT,
+ .name = "component-count",
+ .has_arg = required_argument },
+ { .val = LFS_COMP_FLAGS_OPT,
+ .name = "comp-flags", .has_arg = required_argument },
+ { .val = LFS_COMP_FLAGS_OPT,
+ .name = "component-flags",
+ .has_arg = required_argument },
+ { .val = LFS_COMP_START_OPT,
+ .name = "comp-start", .has_arg = required_argument },
+ { .val = LFS_COMP_START_OPT,
+ .name = "component-start",
+ .has_arg = required_argument },
+ { .val = 'c', .name = "stripe-count", .has_arg = required_argument },
+ { .val = 'c', .name = "stripe_count", .has_arg = required_argument },
+ { .val = 'C', .name = "ctime", .has_arg = required_argument },
+ { .val = 'D', .name = "maxdepth", .has_arg = required_argument },
+ { .val = 'E', .name = "comp-end", .has_arg = required_argument },
+ { .val = 'E', .name = "component-end",
+ .has_arg = required_argument },
+ { .val = 'g', .name = "gid", .has_arg = required_argument },
+ { .val = 'G', .name = "group", .has_arg = required_argument },
+ { .val = 'H', .name = "mdt-hash", .has_arg = required_argument },
+ { .val = 'i', .name = "stripe-index", .has_arg = required_argument },
+ { .val = 'i', .name = "stripe_index", .has_arg = required_argument },
+ /*{"component-id", required_argument, 0, 'I'},*/
+ { .val = 'L', .name = "layout", .has_arg = required_argument },
+ { .val = 'm', .name = "mdt", .has_arg = required_argument },
+ { .val = 'm', .name = "mdt-index", .has_arg = required_argument },
+ { .val = 'm', .name = "mdt_index", .has_arg = required_argument },
+ { .val = 'M', .name = "mtime", .has_arg = required_argument },
+ { .val = 'n', .name = "name", .has_arg = required_argument },
/* reserve {"or", no_argument, , 0, 'o'}, to match find(1) */
- {"obd", required_argument, 0, 'O'},
- {"ost", required_argument, 0, 'O'},
- /* no short option for pool, p/P already used */
- {"pool", required_argument, 0, LFS_POOL_OPT},
- {"print0", no_argument, 0, 'p'},
- {"print", no_argument, 0, 'P'},
- {"projid", required_argument, 0, LFS_PROJID_OPT},
- {"size", required_argument, 0, 's'},
- {"stripe-size", required_argument, 0, 'S'},
- {"stripe_size", required_argument, 0, 'S'},
- {"type", required_argument, 0, 't'},
- {"mdt-count", required_argument, 0, 'T'},
- {"uid", required_argument, 0, 'u'},
- {"user", required_argument, 0, 'U'},
- {0, 0, 0, 0}
- };
+ { .val = 'O', .name = "obd", .has_arg = required_argument },
+ { .val = 'O', .name = "ost", .has_arg = required_argument },
+ /* no short option for pool, p/P already used */
+ { .val = LFS_POOL_OPT,
+ .name = "pool", .has_arg = required_argument },
+ { .val = 'p', .name = "print0", .has_arg = no_argument },
+ { .val = 'P', .name = "print", .has_arg = no_argument },
+ { .val = LFS_PROJID_OPT,
+ .name = "projid", .has_arg = required_argument },
+ { .val = 's', .name = "size", .has_arg = required_argument },
+ { .val = 'S', .name = "stripe-size", .has_arg = required_argument },
+ { .val = 'S', .name = "stripe_size", .has_arg = required_argument },
+ { .val = 't', .name = "type", .has_arg = required_argument },
+ { .val = 'T', .name = "mdt-count", .has_arg = required_argument },
+ { .val = 'u', .name = "uid", .has_arg = required_argument },
+ { .val = 'U', .name = "user", .has_arg = required_argument },
+ { .name = NULL } };
int pathstart = -1;
int pathend = -1;
int neg_opt = 0;
@@
-2397,70
+2408,78
@@
static int lfs_getstripe_internal(int argc, char **argv,
struct find_param *param)
{
struct option long_opts[] = {
- {"comp-count", no_argument, 0, LFS_COMP_COUNT_OPT},
- {"component-count", no_argument, 0, LFS_COMP_COUNT_OPT},
- {"comp-flags", optional_argument, 0, LFS_COMP_FLAGS_OPT},
- {"component-flags", optional_argument, 0, LFS_COMP_FLAGS_OPT},
- {"comp-start", optional_argument, 0, LFS_COMP_START_OPT},
- {"component-start", optional_argument, 0, LFS_COMP_START_OPT},
+ { .val = LFS_COMP_COUNT_OPT,
+ .name = "comp-count", .has_arg = no_argument },
+ { .val = LFS_COMP_COUNT_OPT,
+ .name = "component-count", .has_arg = no_argument },
+ { .val = LFS_COMP_FLAGS_OPT,
+ .name = "comp-flags", .has_arg = optional_argument },
+ { .val = LFS_COMP_FLAGS_OPT,
+ .name = "component-flags", .has_arg = optional_argument },
+ { .val = LFS_COMP_START_OPT,
+ .name = "comp-start", .has_arg = optional_argument },
+ { .val = LFS_COMP_START_OPT,
+ .name = "component-start", .has_arg = optional_argument },
#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 59, 0)
-
/* This formerly implied "stripe-count", but was explicitly
-
* made "stripe-count" for consistency with other options,
-
* and to separate it from "mdt-count" when DNE arrives. */
-
{"count", no_argument, 0, 'c'
},
+ /* This formerly implied "stripe-count", but was explicitly
+ * made "stripe-count" for consistency with other options,
+ * and to separate it from "mdt-count" when DNE arrives. */
+
{ .val = 'c', .name = "count", .has_arg = no_argument
},
#endif
- {"stripe-count", no_argument, 0, 'c'},
- {"stripe_count", no_argument, 0, 'c'},
- {"directory", no_argument, 0, 'd'},
- {"default", no_argument, 0, 'D'},
- {"comp-end", optional_argument, 0, 'E'},
- {"component-end", optional_argument, 0, 'E'},
- {"fid", no_argument, 0, 'F'},
- {"generation", no_argument, 0, 'g'},
- /* dirstripe {"mdt-hash", required_argument, 0, 'H'}, */
+ { .val = 'c', .name = "stripe-count", .has_arg = no_argument },
+ { .val = 'c', .name = "stripe_count", .has_arg = no_argument },
+ { .val = 'd', .name = "directory", .has_arg = no_argument },
+ { .val = 'D', .name = "default", .has_arg = no_argument },
+ { .val = 'E', .name = "comp-end", .has_arg = optional_argument },
+ { .val = 'E', .name = "component-end",
+ .has_arg = optional_argument },
+ { .val = 'F', .name = "fid", .has_arg = no_argument },
+ { .val = 'g', .name = "generation", .has_arg = no_argument },
+ /* dirstripe { .val = 'H', .name = "mdt-hash",
+ * .has_arg = required_argument }, */
#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 59, 0)
-
/* This formerly implied "stripe-index", but was explicitly
-
* made "stripe-index" for consistency with other options,
-
* and to separate it from "mdt-index" when DNE arrives. */
-
{"index", no_argument, 0, 'i'
},
+ /* This formerly implied "stripe-index", but was explicitly
+ * made "stripe-index" for consistency with other options,
+ * and to separate it from "mdt-index" when DNE arrives. */
+
{ .val = 'i', .name = "index", .has_arg = no_argument
},
#endif
-
{"stripe-index", no_argument, 0, 'i'
},
-
{"stripe_index", no_argument, 0, 'i'
},
-
{"comp-id", optional_argument, 0, 'I'
},
-
{"component-id", optional_argument, 0, 'I'
},
-
{"layout", no_argument, 0, 'L'
},
-
{"mdt", no_argument, 0, 'm'
},
-
{"mdt-index", no_argument, 0, 'm'
},
-
{"mdt_index", no_argument, 0, 'm'
},
+
{ .val = 'i', .name = "stripe-index", .has_arg = no_argument
},
+
{ .val = 'i', .name = "stripe_index", .has_arg = no_argument
},
+
{ .val = 'I', .name = "comp-id", .has_arg = optional_argument
},
+
{ .val = 'I', .name = "component-id", .has_arg = optional_argument
},
+
{ .val = 'L', .name = "layout", .has_arg = no_argument
},
+
{ .val = 'm', .name = "mdt", .has_arg = no_argument
},
+
{ .val = 'm', .name = "mdt-index", .has_arg = no_argument
},
+
{ .val = 'm', .name = "mdt_index", .has_arg = no_argument
},
#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(3, 0, 53, 0)
-
{"mdt-index", no_argument, 0, 'M'
},
-
{"mdt_index", no_argument, 0, 'M'
},
+
{ .val = 'M', .name = "mdt-index", .has_arg = no_argument
},
+
{ .val = 'M', .name = "mdt_index", .has_arg = no_argument
},
#endif
#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 59, 0)
-
/* This formerly implied "stripe-index", but was confusing
-
* with "file offset" (which will eventually be needed for
-
* with different layouts by offset), so deprecate it. */
-
{"offset", no_argument, 0, 'o'
},
+ /* This formerly implied "stripe-index", but was confusing
+ * with "file offset" (which will eventually be needed for
+ * with different layouts by offset), so deprecate it. */
+
{ .val = 'o', .name = "offset", .has_arg = no_argument
},
#endif
-
{"obd", required_argument, 0, 'O'
},
-
{"ost", required_argument, 0, 'O'
},
-
{"pool", no_argument, 0, 'p'
},
-
{"quiet", no_argument, 0, 'q'
},
-
{"recursive", no_argument, 0, 'r'
},
-
{"raw", no_argument, 0, 'R'
},
+
{ .val = 'O', .name = "obd", .has_arg = required_argument
},
+
{ .val = 'O', .name = "ost", .has_arg = required_argument
},
+
{ .val = 'p', .name = "pool", .has_arg = no_argument
},
+
{ .val = 'q', .name = "quiet", .has_arg = no_argument
},
+
{ .val = 'r', .name = "recursive", .has_arg = no_argument
},
+
{ .val = 'R', .name = "raw", .has_arg = no_argument
},
#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 59, 0)
-
/* This formerly implied "--stripe-size", but was confusing
-
* with "lfs find --size|-s", which means "file size", so use
-
* the consistent "--stripe-size|-S" for all commands. */
-
{"size", no_argument, 0, 's'
},
+ /* This formerly implied "--stripe-size", but was confusing
+ * with "lfs find --size|-s", which means "file size", so use
+ * the consistent "--stripe-size|-S" for all commands. */
+
{ .val = 's', .name = "size", .has_arg = no_argument
},
#endif
-
{"stripe-size", no_argument, 0, 'S'
},
-
{"stripe_size", no_argument, 0, 'S'
},
- /* dirstripe {"mdt-count", required_argument, 0, 'T'}, */
- {"verbose", no_argument, 0, 'v'},
-
{"yaml", no_argument, 0, 'y'
},
- {0, 0, 0, 0}
- };
+
{ .val = 'S', .name = "stripe-size", .has_arg = no_argument
},
+
{ .val = 'S', .name = "stripe_size", .has_arg = no_argument
},
+ /* dirstripe { .val = 'T', .name = "mdt-count",
+ * .has_arg = required_argument }, */
+
{ .val = 'v', .name = "verbose", .has_arg = no_argument
},
+ { .val = 'y', .name = "yaml", .has_arg = no_argument },
+
{ .name = NULL }
};
int c, rc;
char *end, *tmp;
@@
-3054,10
+3073,9
@@
static int lfs_mv(int argc, char **argv)
int c;
int rc = 0;
struct option long_opts[] = {
- {"mdt-index", required_argument, 0, 'M'},
- {"verbose", no_argument, 0, 'v'},
- {0, 0, 0, 0}
- };
+ { .val = 'M', .name = "mdt-index", .has_arg = required_argument },
+ { .val = 'v', .name = "verbose", .has_arg = no_argument },
+ { .name = NULL } };
while ((c = getopt_long(argc, argv, "M:v", long_opts, NULL)) != -1) {
switch (c) {
@@
-3248,9
+3266,10
@@
static int mntdf(char *mntdir, char *fsname, char *pool, enum mntdf_flags flags)
struct obd_statfs stat_buf, sum = { .os_bsize = 1 };
struct obd_uuid uuid_buf;
char *poolname = NULL;
- struct ll_stat_type types[] = { { LL_STATFS_LMV, "MDT" },
- { LL_STATFS_LOV, "OST" },
- { 0, NULL } };
+ struct ll_stat_type types[] = {
+ { .st_op = LL_STATFS_LMV, .st_name = "MDT" },
+ { .st_op = LL_STATFS_LOV, .st_name = "OST" },
+ { .st_name = NULL } };
struct ll_stat_type *tp;
__u64 ost_ffree = 0;
__u32 index;
@@
-3690,15
+3709,18
@@
int lfs_setquota(int argc, char **argv)
char *mnt, *obd_type = (char *)qctl.obd_type;
struct obd_dqblk *dqb = &qctl.qc_dqblk;
struct option long_opts[] = {
- {"block-softlimit", required_argument, 0, 'b'},
- {"block-hardlimit", required_argument, 0, 'B'},
- {"group", required_argument, 0, 'g'},
- {"inode-softlimit", required_argument, 0, 'i'},
- {"inode-hardlimit", required_argument, 0, 'I'},
- {"user", required_argument, 0, 'u'},
- {"projid", required_argument, 0, 'p'},
- {0, 0, 0, 0}
- };
+ { .val = 'b', .name = "block-softlimit",
+ .has_arg = required_argument },
+ { .val = 'B', .name = "block-hardlimit",
+ .has_arg = required_argument },
+ { .val = 'g', .name = "group", .has_arg = required_argument },
+ { .val = 'i', .name = "inode-softlimit",
+ .has_arg = required_argument },
+ { .val = 'I', .name = "inode-hardlimit",
+ .has_arg = required_argument },
+ { .val = 'p', .name = "projid", .has_arg = required_argument },
+ { .val = 'u', .name = "user", .has_arg = required_argument },
+ { .name = NULL } };
unsigned limit_mask = 0;
char *endptr;
int qtype;
@@
-4586,10
+4608,9
@@
static int lfs_fid2path(int argc, char **argv)
static int lfs_path2fid(int argc, char **argv)
{
- struct option long_opts[] = {
- {"parents", no_argument, 0, 'p'},
- {0, 0, 0, 0}
- };
+ struct option long_opts[] = {
+ { .val = 'p', .name = "parents", .has_arg = no_argument },
+ { .name = NULL } };
char **path;
const char short_opts[] = "p";
const char *sep = "";
@@
-4764,14
+4785,13
@@
static int lfs_hsm_state(int argc, char **argv)
static int lfs_hsm_change_flags(int argc, char **argv, int mode)
{
struct option long_opts[] = {
- {"lost", 0, 0, 'l'},
- {"norelease", 0, 0, 'r'},
- {"noarchive", 0, 0, 'a'},
- {"archived", 0, 0, 'A'},
- {"dirty", 0, 0, 'd'},
- {"exists", 0, 0, 'e'},
- {0, 0, 0, 0}
- };
+ { .val = 'A', .name = "archived", .has_arg = no_argument },
+ { .val = 'a', .name = "noarchive", .has_arg = no_argument },
+ { .val = 'd', .name = "dirty", .has_arg = no_argument },
+ { .val = 'e', .name = "exists", .has_arg = no_argument },
+ { .val = 'l', .name = "lost", .has_arg = no_argument },
+ { .val = 'r', .name = "norelease", .has_arg = no_argument },
+ { .name = NULL } };
char short_opts[] = "lraAde";
__u64 mask = 0;
int c, rc;
@@
-4989,13
+5009,12
@@
static int fill_hur_item(struct hsm_user_request *hur, unsigned int idx,
static int lfs_hsm_request(int argc, char **argv, int action)
{
- struct option long_opts[] = {
- {"filelist", 1, 0, 'l'},
- {"data", 1, 0, 'D'},
- {"archive", 1, 0, 'a'},
- {"mntpath", 1, 0, 'm'},
- {0, 0, 0, 0}
- };
+ struct option long_opts[] = {
+ { .val = 'a', .name = "archive", .has_arg = required_argument },
+ { .val = 'D', .name = "data", .has_arg = required_argument },
+ { .val = 'l', .name = "filelist", .has_arg = required_argument },
+ { .val = 'm', .name = "mntpath", .has_arg = required_argument },
+ { .name = NULL } };
dev_t last_dev = 0;
char short_opts[] = "l:D:a:m:";
struct hsm_user_request *hur, *oldhur;
@@
-5230,14
+5249,13
@@
static enum lu_ladvise_type lfs_get_ladvice(const char *string)
static int lfs_ladvise(int argc, char **argv)
{
- struct option long_opts[] = {
- {"advice", required_argument, 0, 'a'},
- {"background", no_argument, 0, 'b'},
- {"end", required_argument, 0, 'e'},
- {"start", required_argument, 0, 's'},
- {"length", required_argument, 0, 'l'},
- {0, 0, 0, 0}
- };
+ struct option long_opts[] = {
+ { .val = 'a', .name = "advice", .has_arg = required_argument },
+ { .val = 'b', .name = "background", .has_arg = no_argument },
+ { .val = 'e', .name = "end", .has_arg = required_argument },
+ { .val = 'l', .name = "length", .has_arg = required_argument },
+ { .val = 's', .name = "start", .has_arg = required_argument },
+ { .name = NULL } };
char short_opts[] = "a:be:l:s:";
int c;
int rc = 0;