"directory or recursively for all files in a directory tree.\n"
"usage: getstripe [--obd|-O <uuid>] [--quiet | -q] [--verbose | -v]\n"
" [--count | -c ] [--size | -s ] [--index | -i ]\n"
- " [--offset | -o ] [--pool | -p ]\n"
+ " [--offset | -o ] [--pool | -p ] [--directory | -d]\n"
" [--recursive | -r] <dir|file> ..."},
{"pool_list", lfs_poollist, 0,
"List pools or pool OSTs\n"
{"offset", 0, 0, 'o'},
{"pool", 0, 0, 'p'},
{"verbose", 0, 0, 'v'},
+ {"directory", 0, 0, 'd'},
{0, 0, 0, 0}
};
- char short_opts[] = "hO:qrvcsiop";
int c, rc;
struct find_param param = { 0 };
+ param.maxdepth = 1;
optind = 0;
- while ((c = getopt_long(argc, argv, short_opts,
+ while ((c = getopt_long(argc, argv, "cdhioO:pqrsv",
long_opts, NULL)) != -1) {
switch (c) {
case 'O':
case 'q':
param.quiet++;
break;
+ case 'd':
+ param.maxdepth = 0;
+ break;
case 'r':
param.recursive = 1;
break;
case 'v':
param.verbose = VERBOSE_ALL | VERBOSE_DETAIL;
- param.quiet = 0;
break;
case 'c':
- param.verbose |= VERBOSE_COUNT;
+ if (!(param.verbose & VERBOSE_DETAIL)) {
+ param.verbose |= VERBOSE_COUNT;
+ param.maxdepth = 0;
+ }
break;
case 's':
- param.verbose |= VERBOSE_SIZE;
+ if (!(param.verbose & VERBOSE_DETAIL)) {
+ param.verbose |= VERBOSE_SIZE;
+ param.maxdepth = 0;
+ }
break;
case 'i':
case 'o':
- param.verbose |= VERBOSE_OFFSET;
+ if (!(param.verbose & VERBOSE_DETAIL)) {
+ param.verbose |= VERBOSE_OFFSET;
+ param.maxdepth = 0;
+ }
break;
case 'p':
param.verbose |= VERBOSE_POOL;
if (optind >= argc)
return CMD_HELP;
- param.maxdepth = param.recursive ? -1 : 1;
+ if (param.recursive)
+ param.maxdepth = -1;
+
+ if (!param.verbose)
+ param.verbose = VERBOSE_ALL;
+ if (param.quiet)
+ param.verbose = VERBOSE_OBJID;
do {
rc = llapi_getstripe(argv[optind], ¶m);
while (llapi_search_mounts(NULL, index++, mntdir, NULL) == 0) {
memset(¶m, 0, sizeof(param));
- rc = llapi_getstripe(mntdir, ¶m);
+ rc = llapi_ostlist(mntdir, ¶m);
if (rc) {
fprintf(stderr, "error: %s: failed on %s\n",
argv[0], mntdir);