- " [--yaml|-y YAML_TEMPLATE_FILE]\n" \
- " [--copy=LUSTRE_SRC]\n"
-
-#define SSM_HELP_COMMON \
- "\tSTRIPE_COUNT: Number of OSTs to stripe on (0=fs default, -1 all)\n" \
- "\t Using -C instead of -c allows overstriping, which\n" \
- "\t will place more than one stripe per OST if\n" \
- "\t stripe_count is greater than the number of OSTs.\n" \
- "\tSTART_OST_IDX: OST index of first stripe (-1=default round robin)\n"\
- "\tSTRIPE_SIZE: Number of bytes on each OST (0=fs default)\n" \
- "\t Optional K, M, or G suffix (for KB, MB, GB\n" \
- "\t respectively). Must be a multiple of 64KiB.\n" \
- "\tEXTENSION_SIZE:\n" \
- "\t Number of bytes the previous component is extended\n" \
- "\t each time. Optional K, M, or G suffix (for KB,\n" \
- "\t MB, GB respectively)\n" \
- "\tPOOL_NAME: Name of OST pool to use (default none)\n" \
- "\tLAYOUT: stripe pattern type: raid0, mdt (default raid0)\n" \
- "\tOST_INDICES: List of OST indices, can be repeated multiple times\n"\
- "\t Indices be specified in a format of:\n" \
- "\t -o OST_1,OST_I-OST_J,OST_N\n" \
- "\t Or:\n" \
- "\t -o OST_1 -o OST_I-OST_J -o OST_N\n" \
- "\t If --pool is set with --ost then the OSTs\n" \
- "\t must be the members of the pool.\n" \
- "\tCOMP_END: Extent end of component, start after previous end.\n" \
- "\t Optional K, M, or G suffix (for KiB, MiB, GiB), or\n" \
- "\t -1 or 'eof' for max file size). Must be a multiple\n" \
- "\t of stripe_size and a multiple of 64KiB.\n" \
- "\tYAML_TEMPLATE_FILE:\n" \
- "\t YAML layout template file, can't be used with -c,\n" \
- "\t -i, -S, -p, -o, or -E arguments.\n" \
- "\tLUSTRE_SRC: Lustre file/dir whose layout info is used to set\n" \
- "\t another lustre file or directory, can't used with\n" \
- "\t -c, -i, -S, -p, -o, or -E arguments.\n"
-
-#define MIRROR_CREATE_HELP \
- "\tMIRROR_COUNT: Number of mirrors to be created with the upcoming\n" \
- "\t setstripe layout options\n" \
- "\t It defaults to 1 if not specified; if specified,\n" \
- "\t it must follow the option without a space.\n" \
- "\t The option can also be repeated multiple times to\n" \
- "\t separate mirrors that have different layouts.\n" \
- "\tSETSTRIPE_OPTIONS: Mirror layout as with 'setstripe'\n" \
- "\t It can be a plain layout or a composite layout.\n" \
- "\t If not specified, the stripe options inherited\n" \
- "\t from the previous component will be used.\n" \
- "\tFLAGS: set flags to the component of the current mirror.\n" \
- "\t Only \"prefer\" flag is supported so far.\n"
-
-#define MIRROR_EXTEND_HELP \
- MIRROR_CREATE_HELP \
- "\tVICTIM_FILE: The layout of victim_file will be split and used\n" \
- "\t as a mirror added to the mirrored file.\n" \
- "\tno-verify: This option indicates not to verify the mirror(s)\n" \
- "\t from victim file(s) in case the victim file(s)\n" \
- "\t contains the same data as the original mirrored\n" \
- "\t file.\n"
-
-#define MIRROR_EXTEND_USAGE \
- " {--mirror-count|-N[mirror_count]}\n" \
- " [SETSTRIPE_OPTIONS|-f|--file VICTIM_FILE]\n" \