"delete the default striping pattern from an existing directory\n"
"usage: setstripe [--size|-s stripe_size] [--count|-c stripe_count]\n"
" [--index|-i|--offset|-o start_ost_index]\n"
- " [--pool|-p <pool>] <dir|filename>\n"
+ " [--pool|-p <pool>] <directory|filename>\n"
" or \n"
- " setstripe -d <dir> (to delete default striping)\n"
+ " setstripe -d <directory> (to delete default striping)\n"
"\tstripe_size: Number of bytes on each OST (0 filesystem default)\n"
"\t Can be specified with k, m or g (in KB, MB and GB\n"
"\t respectively)\n"
- "\tstart_ost_index: OST index of first stripe (-1 filesystem default)\n"
+ "\tstart_ost_index: OST index of first stripe (-1 default)\n"
"\tstripe_count: Number of OSTs to stripe over (0 default, -1 all)\n"
- "\tpool: Name of OST pool"},
+ "\tpool: Name of OST pool to use (default none)"},
{"getstripe", lfs_getstripe, 0,
"To list the striping info for a given file or files in a\n"
"directory or recursively for all files in a directory tree.\n"
"usage: getstripe [--obd|-O <uuid>] [--quiet | -q] [--verbose | -v]\n"
- " [--count | -c ] [--index | -i | --offset | -o ]\n"
+ " [--count | -c ] [--index | -i | --offset | -o]\n"
" [--size | -s ] [--pool | -p ] [--directory | -d]\n"
- " [--mdt | -M] [--recursive | -r] <dir|file> ..."},
+ " [--mdt | -M] [--recursive | -r] <directory|filename> ..."},
{"pool_list", lfs_poollist, 0,
"List pools or pool OSTs\n"
"usage: pool_list <fsname>[.<pool>] | <pathname>\n"},
unsigned long long size_units;
struct option long_opts[] = {
- {"size", required_argument, 0, 's'},
{"count", required_argument, 0, 'c'},
+ {"delete", no_argument, 0, 'd'},
{"index", required_argument, 0, 'i'},
{"offset", required_argument, 0, 'o'},
{"pool", required_argument, 0, 'p'},
- {"delete", no_argument, 0, 'd'},
+ {"size", required_argument, 0, 's'},
{0, 0, 0, 0}
};
st_offset = -1;
st_count = 0;
-#if LUSTRE_VERSION < OBD_OCD_VERSION(2,1,0,0)
+#if LUSTRE_VERSION < OBD_OCD_VERSION(2,4,50,0)
if (argc == 5 && argv[1][0] != '-' &&
isnumber(argv[2]) && isnumber(argv[3]) && isnumber(argv[4])) {
- fprintf(stderr, "warning: deprecated usage of setstripe "
+ fprintf(stderr, "error: obsolete usage of setstripe "
"positional parameters. Use -c, -i, -s instead.\n");
- /* for compatibility with the existing positional parameter
- * usage */
- fname = argv[1];
- stripe_size_arg = argv[2];
- stripe_off_arg = argv[3];
- stripe_count_arg = argv[4];
- optind = 4;
+ return CMD_HELP;
} else
#else
#warning "remove obsolete positional parameter code"
#endif
{
optind = 0;
- while ((c = getopt_long(argc, argv, "c:di:o:s:p:",
+ while ((c = getopt_long(argc, argv, "c:di:o:p:s:",
long_opts, NULL)) >= 0) {
switch (c) {
case 0:
time_t t;
struct find_param param = { .maxdepth = -1 };
struct option long_opts[] = {
- /* New find options. */
{"atime", required_argument, 0, 'A'},
{"ctime", required_argument, 0, 'C'},
- {"mtime", required_argument, 0, 'M'},
{"maxdepth", required_argument, 0, 'D'},
{"gid", required_argument, 0, 'g'},
{"group", required_argument, 0, 'G'},
- {"uid", required_argument, 0, 'u'},
- {"user", required_argument, 0, 'U'},
+ {"mtime", required_argument, 0, 'M'},
{"name", required_argument, 0, 'n'},
- /* no short option for pool, p/P already used */
- {"pool", required_argument, 0, FIND_POOL_OPT},
/* --obd is considered as a new option. */
{"obd", required_argument, 0, 'O'},
{"ost", required_argument, 0, 'O'},
- {"print", no_argument, 0, 'P'},
+ /* no short option for pool, p/P already used */
+ {"pool", required_argument, 0, FIND_POOL_OPT},
{"print0", no_argument, 0, 'p'},
- /* Old find options. */
+ {"print", no_argument, 0, 'P'},
{"quiet", no_argument, 0, 'q'},
{"recursive", no_argument, 0, 'r'},
{"size", required_argument, 0, 's'},
{"type", required_argument, 0, 't'},
+ {"uid", required_argument, 0, 'u'},
+ {"user", required_argument, 0, 'U'},
{"verbose", no_argument, 0, 'v'},
{0, 0, 0, 0}
};
optind = 0;
/* when getopt_long_only() hits '!' it returns 1, puts "!" in optarg */
- while ((c = getopt_long_only(argc,argv,"-A:C:D:g:G:M:n:PpO:qrs:t:u:U:v",
+ while ((c = getopt_long_only(argc,argv,"-A:C:D:g:G:M:n:O:Ppqrs:t:u:U:v",
long_opts, NULL)) >= 0) {
xtime = NULL;
xsign = NULL;
static int lfs_getstripe(int argc, char **argv)
{
struct option long_opts[] = {
- {"obd", 1, 0, 'O'},
- {"quiet", 0, 0, 'q'},
- {"recursive", 0, 0, 'r'},
{"count", 0, 0, 'c'},
- {"size", 0, 0, 's'},
+ {"directory", 0, 0, 'd'},
{"index", 0, 0, 'i'},
+ {"mdt", 0, 0, 'M'},
{"offset", 0, 0, 'o'},
+ {"obd", 1, 0, 'O'},
{"pool", 0, 0, 'p'},
+ {"quiet", 0, 0, 'q'},
+ {"recursive", 0, 0, 'r'},
+ {"raw", 0, 0, 'R'},
+ {"size", 0, 0, 's'},
{"verbose", 0, 0, 'v'},
- {"directory", 0, 0, 'd'},
- {"mdt", 0, 0, 'M'},
{0, 0, 0, 0}
};
int c, rc;
memset(&qchk, 0, sizeof(qchk));
optind = 0;
- while ((c = getopt(argc, argv, "ug")) != -1) {
+ while ((c = getopt(argc, argv, "gu")) != -1) {
switch (c) {
case 'u':
check_type |= 0x01;
qctl.qc_cmd = LUSTRE_Q_QUOTAON;
optind = 0;
- while ((c = getopt(argc, argv, "ugf")) != -1) {
+ while ((c = getopt(argc, argv, "fgu")) != -1) {
switch (c) {
case 'u':
qctl.qc_type |= 0x01;
qctl.qc_cmd = LUSTRE_Q_QUOTAOFF;
optind = 0;
- while ((c = getopt(argc, argv, "ug")) != -1) {
+ while ((c = getopt(argc, argv, "gu")) != -1) {
switch (c) {
case 'u':
qctl.qc_type |= 0x01;
qctl.qc_cmd = LUSTRE_Q_INVALIDATE;
optind = 0;
- while ((c = getopt(argc, argv, "ugf")) != -1) {
+ while ((c = getopt(argc, argv, "fgu")) != -1) {
switch (c) {
case 'u':
qctl.qc_type |= 0x01;
struct obd_dqblk *dqb = &qctl.qc_dqblk;
struct obd_dqinfo *dqi = &qctl.qc_dqinfo;
struct option long_opts[] = {
- {"user", no_argument, 0, 'u'},
- {"group", no_argument, 0, 'g'},
{"block-grace", required_argument, 0, 'b'},
+ {"group", no_argument, 0, 'g'},
{"inode-grace", required_argument, 0, 'i'},
{"times", no_argument, 0, 't'},
+ {"user", no_argument, 0, 'u'},
{0, 0, 0, 0}
};
qctl.qc_type = UGQUOTA;
optind = 0;
- while ((c = getopt_long(argc, argv, "b:i:gtu", long_opts, NULL)) != -1) {
+ while ((c = getopt_long(argc, argv, "b:gi:tu", long_opts, NULL)) != -1) {
switch (c) {
case 'u':
case 'g':
char *mnt, *obd_type = (char *)qctl.obd_type;
struct obd_dqblk *dqb = &qctl.qc_dqblk;
struct option long_opts[] = {
- {"user", required_argument, 0, 'u'},
- {"group", required_argument, 0, 'g'},
{"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'},
{0, 0, 0, 0}
};
unsigned limit_mask = 0;
* isn't reinitialized from command line */
optind = 0;
- while ((c = getopt_long(argc, argv, "b:B:i:I:g:u:", long_opts, NULL)) != -1) {
+ while ((c = getopt_long(argc, argv, "b:B:g:i:I:u:", long_opts, NULL)) != -1) {
switch (c) {
case 'u':
case 'g':
__u32 valid = QC_GENERAL, idx = 0;
optind = 0;
- while ((c = getopt(argc, argv, "ugto:i:I:qv")) != -1) {
+ while ((c = getopt(argc, argv, "gi:I:o:qtuv")) != -1) {
switch (c) {
case 'u':
if (qctl.qc_type != UGQUOTA) {