test_mkdir -p $dir || error "failed to mkdir $dir"
$LFS setstripe -c 1 -i 0 $dir/$tfile ||
error "failed to setstripe $dir/$tfile"
+ mdt_idx=$($LFS getdirstripe -i $dir)
dd if=/dev/zero of=$dir/$tfile bs=1M count=1
stack_trap "rm -f $tmp" EXIT
- $LFS find --size +100K --ost 0 $dir 2>&1 | tee $tmp
- [ -z "$(cat $tmp | grep "obd_uuid: ")" ] ||
+ $LFS find --size +100K --ost 0 $dir |& tee $tmp
+ ! grep -q obd_uuid $tmp ||
error "failed to find --size +100K --ost 0 $dir"
- $LFS find --size +100K --mdt $mdt_idx $dir 2>&1 | tee $tmp
- [ -z "$(cat $tmp | grep "obd_uuid: ")" ] ||
+ $LFS find --size +100K --mdt $mdt_idx $dir |& tee $tmp
+ ! grep -q obd_uuid $tmp ||
error "failed to find --size +100K --mdt $mdt_idx $dir"
}
run_test 56rb "check lfs find --size --ost/--mdt works"
* not active, just print the object affected by this
* failed target
**/
-static int print_failed_tgt(struct find_param *param, char *path, int type)
+static void print_failed_tgt(struct find_param *param, char *path, int type)
{
struct obd_statfs stat_buf;
struct obd_uuid uuid_buf;
- int ret;
+ int tgt_nr, i, *indexes;
+ int ret = 0;
- if (type != LL_STATFS_LOV && type != LL_STATFS_LMV)
- return -EINVAL;
+ if (type != LL_STATFS_LOV && type != LL_STATFS_LMV) {
+ llapi_error(LLAPI_MSG_NORMAL, ret, "%s: wrong statfs type(%d)",
+ __func__, type);
+ return;
+ }
- memset(&stat_buf, 0, sizeof(struct obd_statfs));
- memset(&uuid_buf, 0, sizeof(struct obd_uuid));
- ret = llapi_obd_statfs(path, type,
- type == LL_STATFS_LOV ? param->fp_obd_index :
- param->fp_mdt_index, &stat_buf,
- &uuid_buf);
- if (ret)
- llapi_error(LLAPI_MSG_NORMAL, ret, "obd_uuid: %s failed",
- param->fp_obd_uuid->uuid);
+ tgt_nr = (type == LL_STATFS_LOV) ? param->fp_obd_index :
+ param->fp_mdt_index;
+ indexes = (type == LL_STATFS_LOV) ? param->fp_obd_indexes :
+ param->fp_mdt_indexes;
- return ret;
+ for (i = 0; i < tgt_nr; i++) {
+ memset(&stat_buf, 0, sizeof(struct obd_statfs));
+ memset(&uuid_buf, 0, sizeof(struct obd_uuid));
+
+ ret = llapi_obd_statfs(path, type, indexes[i], &stat_buf,
+ &uuid_buf);
+ if (ret)
+ llapi_error(LLAPI_MSG_NORMAL, ret,
+ "%s: obd_uuid: %s failed",
+ __func__, param->fp_obd_uuid->uuid);
+ }
}
static int find_check_stripe_size(struct find_param *param)
ret = llapi_ioctl_pack(&data, &rawbuf, sizeof(raw));
if (ret != 0) {
llapi_error(LLAPI_MSG_ERROR, ret,
- "llapi_obd_statfs: error packing ioctl data");
+ "%s: error packing ioctl data", __func__);
goto out;
}
rc = llapi_ioctl_pack(&data, &rawbuf, sizeof(raw));
if (rc != 0) {
llapi_error(LLAPI_MSG_ERROR, rc,
- "llapi_obd_statfs: error packing ioctl data");
+ "%s: error packing ioctl data", __func__);
return rc;
}