-static int lfs_quotainv(int argc, char **argv)
-{
- int c;
- char *mnt;
- struct if_quotactl qctl;
- int rc;
-
- memset(&qctl, 0, sizeof(qctl));
- qctl.qc_cmd = LUSTRE_Q_INVALIDATE;
-
- optind = 0;
- while ((c = getopt(argc, argv, "fgu")) != -1) {
- switch (c) {
- case 'u':
- qctl.qc_type |= 0x01;
- break;
- case 'g':
- qctl.qc_type |= 0x02;
- break;
- case 'f':
- qctl.qc_cmd = LUSTRE_Q_FINVALIDATE;
- break;
- default:
- fprintf(stderr, "error: %s: option '-%c' "
- "unrecognized\n", argv[0], c);
- return CMD_HELP;
- }
- }
-
- if (qctl.qc_type)
- qctl.qc_type--;
- else /* by default, invalidate quota for both user & group */
- qctl.qc_type = 0x02;
-
- if (argc == optind)
- return CMD_HELP;
-
- mnt = argv[optind];
-
- rc = llapi_quotactl(mnt, &qctl);
- if (rc) {
- fprintf(stderr, "quotainv failed: %s\n", strerror(-rc));
- return rc;
- }
-
- return 0;
-}
-