+ int rc = 0, rc1 = 0, count = 0, i = 0;
+ char **list = NULL, *buffer = NULL;
+ __u32 valid = qctl->qc_valid;
+
+ if (qctl->qc_cmd == LUSTRE_Q_GETQUOTAPOOL && is_mdt)
+ return 0;
+
+ /* Is it correct for the case OST0000, OST0002, OST0003 -
+ * we will ask OST0001 that is absent and won't ask OST0003? */
+ rc = llapi_get_obd_count(mnt, &count, is_mdt);
+ if (rc) {
+ fprintf(stderr, "can not get %s count: %s\n",
+ is_mdt ? "mdt" : "ost", strerror(-rc));
+ return rc;
+ }
+
+ if (qctl->qc_cmd == LUSTRE_Q_GETQUOTAPOOL) {
+ char fname[PATH_MAX];
+ char fsname[LUSTRE_MAXFSNAME + 1];
+ int bufsize = sizeof(struct obd_uuid) * count;
+
+ rc = llapi_search_fsname(mnt, fsname);
+ if (rc) {
+ fprintf(stderr, "cannot get fsname for mountpoint %s\n",
+ mnt);
+ goto out;
+ }
+ buffer = malloc(bufsize + sizeof(*list) * count);
+ if (!buffer)
+ return -ENOMEM;
+ list = (char **)(buffer + bufsize);
+ snprintf(fname, PATH_MAX, "%s.%s", fsname, qctl->qc_poolname);
+ count = llapi_get_poolmembers(fname, list, count,
+ buffer, bufsize);
+ if (count <= 0)
+ goto out;
+ }
+
+ for (i = 0; i < count; i++) {
+ if (qctl->qc_cmd == LUSTRE_Q_GETQUOTAPOOL) {
+ unsigned int index;