It causes frequent testing failures tracked in LU-8985
This reverts commit
1be03a1088d2aa583c2651435634ba336b48f939.
Test-Parameters: testlist=conf-sanity,conf-sanity,conf-sanity,conf-sanity,conf-sanity,conf-sanity
Change-Id: I444ce9e65c72db7db3f53692d9fe4f823943fade
Signed-off-by: James Nunez <james.a.nunez@intel.com>
Reviewed-on: https://review.whamcloud.com/24750
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
if (stripe == NULL)
GOTO(out_free, rc = -ENOMEM);
if (stripe == NULL)
GOTO(out_free, rc = -ENOMEM);
- /* Start index must be the master MDT */
+ /* Start index will be the master MDT */
master_index = lu_site2seq(lod2lu_dev(lod)->ld_site)->ss_node_id;
idx_array[0] = master_index;
for (i = 0; i < stripe_count; i++) {
master_index = lu_site2seq(lod2lu_dev(lod)->ld_site)->ss_node_id;
idx_array[0] = master_index;
for (i = 0; i < stripe_count; i++) {
CDEBUG(D_INFO, "try idx %d, mdt cnt %u, allocated %u\n",
idx, lod->lod_remote_mdt_count + 1, i);
CDEBUG(D_INFO, "try idx %d, mdt cnt %u, allocated %u\n",
idx, lod->lod_remote_mdt_count + 1, i);
+ if (idx == master_index) {
+ /* Allocate the FID locally */
+ rc = obd_fid_alloc(env, lod->lod_child_exp,
+ &fid, NULL);
+ if (rc < 0)
+ GOTO(out_put, rc);
+ tgt_dt = lod->lod_child;
+ break;
+ }
+
+ /* Find next available target */
+ if (!cfs_bitmap_check(ltd->ltd_tgt_bitmap, idx))
+ continue;
if (likely(!OBD_FAIL_CHECK(OBD_FAIL_LARGE_STRIPE))) {
/* check whether the idx already exists
if (likely(!OBD_FAIL_CHECK(OBD_FAIL_LARGE_STRIPE))) {
/* check whether the idx already exists
- /* Sigh, this index is not in the bitmap, let's check
- * next available target */
- if (!cfs_bitmap_check(ltd->ltd_tgt_bitmap, idx) &&
- idx != master_index)
- continue;
-
- if (idx == master_index) {
- /* Allocate the FID locally */
- rc = obd_fid_alloc(env, lod->lod_child_exp,
- &fid, NULL);
- if (rc < 0)
- GOTO(out_put, rc);
- tgt_dt = lod->lod_child;
- break;
- }
-
/* check the status of the OSP */
tgt = LTD_TGT(ltd, idx);
if (tgt == NULL)
/* check the status of the OSP */
tgt = LTD_TGT(ltd, idx);
if (tgt == NULL)
/* Can not allocate more stripes */
if (j == lod->lod_remote_mdt_count) {
CDEBUG(D_INFO, "%s: require stripes %u only get %d\n",
/* Can not allocate more stripes */
if (j == lod->lod_remote_mdt_count) {
CDEBUG(D_INFO, "%s: require stripes %u only get %d\n",
- lod2obd(lod)->obd_name, stripe_count, i);
+ lod2obd(lod)->obd_name, stripe_count, i - 1);
LCONSOLE_ERROR_MSG(0x144, "%s: MDC0 can not be"
" (de)activated.\n",
mti->mti_svname);
LCONSOLE_ERROR_MSG(0x144, "%s: MDC0 can not be"
" (de)activated.\n",
mti->mti_svname);
- GOTO(end, rc = -EPERM);
+ GOTO(end, rc = -EINVAL);
# prepare MDT/OST, make OSC inactive for OST1
[ "$MDSCOUNT" -lt "2" ] && skip_env "$MDSCOUNT < 2, skipping" && return
# prepare MDT/OST, make OSC inactive for OST1
[ "$MDSCOUNT" -lt "2" ] && skip_env "$MDSCOUNT < 2, skipping" && return
[ $(facet_fstype mds2) == zfs ] && import_zpool mds2
do_facet mds2 "$TUNEFS --param mdc.active=0 $(mdsdevname 2)" ||
error "tunefs MDT2 failed"
[ $(facet_fstype mds2) == zfs ] && import_zpool mds2
do_facet mds2 "$TUNEFS --param mdc.active=0 $(mdsdevname 2)" ||
error "tunefs MDT2 failed"
rm -rf $DIR/$tdir/2 || error "unlink dir failed"
# deactivate MDC for MDT2
rm -rf $DIR/$tdir/2 || error "unlink dir failed"
# deactivate MDC for MDT2
- TEST="$LCTL get_param -n mdc.${FSNAME}-MDT0001-mdc-[!M]*.active"
+ local TEST="$LCTL get_param -n mdc.${FSNAME}-MDT0001-mdc-[!M]*.active"
set_conf_param_and_check client \
"$TEST" "${FSNAME}-MDT0001.mdc.active" 0 ||
error "Unable to deactivate MDT2"
set_conf_param_and_check client \
"$TEST" "${FSNAME}-MDT0001.mdc.active" 0 ||
error "Unable to deactivate MDT2"
$LFS mkdir -i1 $DIR/$tdir/2 &&
error "mkdir $DIR/$tdir/2 succeeds after deactive MDT"
$LFS mkdir -i1 $DIR/$tdir/2 &&
error "mkdir $DIR/$tdir/2 succeeds after deactive MDT"
- $LFS mkdir -i0 -c$MDSCOUNT $DIR/$tdir/striped_dir ||
- error "mkdir $DIR/$tdir/striped_dir fails after deactive MDT2"
-
- local stripe_count=$($LFS getdirstripe -c $DIR/$tdir/striped_dir)
- [ $stripe_count -eq $((MDSCOUNT - 1)) ] ||
- error "wrong $stripe_count != $((MDSCOUNT -1)) for striped_dir"
-
# cleanup
umount_client $MOUNT || error "Unable to umount client"
stop_mds
# cleanup
umount_client $MOUNT || error "Unable to umount client"
stop_mds