run_test 21d "start mgs then ost and then mds"
test_22() {
- local num
-
start_mds
echo Client mount with ost in logs, but none running
start_ost
# wait until mds connected to ost and open client connection
- for num in $(seq 1 $MDSCOUNT); do
- wait_osc_import_state mds${num} ost FULL
- done
+ wait_osc_import_state mds ost FULL
stop_ost
mount_client $MOUNT
# check_mount will block trying to contact ost
sleep $((TIMEOUT + TIMEOUT + TIMEOUT))
fi
mount_client $MOUNT
- for num in $(seq 1 $MDSCOUNT); do
- wait_osc_import_state mds${num} ost FULL
- done
+ wait_osc_import_state mds ost FULL
wait_osc_import_state client ost FULL
check_mount || return 41
pass
return 1
}
shall_cleanup_mdt=false
+
$r umount -d $tmp/mnt/ost || {
error_noexit "Unmounting the OST"
return 1
createmany -o $DIR/$tdir/$tfile-%d 100
# make sure that OSTs do not cancel llog cookies before we unmount the MDS
#define OBD_FAIL_OBD_LOG_CANCEL_NET 0x601
- do_facet mds "lctl set_param fail_loc=0x601"
+ do_facet $SINGLEMDS "lctl set_param fail_loc=0x601"
unlinkmany $DIR/$tdir/$tfile-%d 100
- stop mds
- local MNTDIR=$(facet_mntpt mds)
+ stop_mds
+
+ local MNTDIR=$(facet_mntpt $SINGLEMDS)
+ local devname=$(mdsdevname ${SINGLEMDS//mds/})
+ local opts=""
+ if ! do_facet $SINGLEMDS "test -b $devname"; then
+ opts="-o loop"
+ fi
+
# remove all files from the OBJECTS dir
- do_facet mds "mount -t ldiskfs $MDSDEV $MNTDIR"
- do_facet mds "find $MNTDIR/OBJECTS -type f -delete"
- do_facet mds "umount $MNTDIR"
+ do_facet $SINGLEMDS "mount -t ldiskfs $opts $devname $MNTDIR"
+ do_facet $SINGLEMDS "find $MNTDIR/O/1/d* -type f -delete"
+ do_facet $SINGLEMDS "umount $MNTDIR"
# restart MDS with missing llog files
start_mds
do_facet mds "lctl set_param fail_loc=0"
stop_mds || error "stopping mds failed"
if combined_mgs_mds; then
- start_mds "-o nosvc" ||
+ start_mdt 1 "-o nosvc" ||
error "starting mds with nosvc option failed"
fi
skip "ldiskfs only test" && return
#tune MDT with "-O extents"
- add $SINGLEMDS \
- $(mkfs_opts $SINGLEMDS ${mdsdev}) --reformat $mdsdev ||
- error "add $SINGLEMDS failed"
- $TUNE2FS -O extents $mdsdev
+
+ for num in $(seq $MDSCOUNT); do
+ add mds${num} $(mkfs_opts mds$num $(mdsdevname $num)) \
+ --reformat $(mdsdevname $num) $(mdsvdevname $num) ||
+ error "add mds $num failed"
+ $TUNE2FS -O extents $(mdsdevname $num)
+ done
+
add ost1 $(mkfs_opts ost1 $ostdev) --reformat $ostdev ||
error "add $ostdev failed"
start_mgsmds || error "start mds failed"
}
run_test 72 "test fast symlink with extents flag enabled"
+test_73() { #LU-3006
+ load_modules
+ do_facet ost1 "$TUNEFS --failnode=1.2.3.4@tcp $(ostdevname 1)" ||
+ error "1st tunefs failed"
+ start_mgsmds || error "start mds failed"
+ start_ost || error "start ost failed"
+ mount_client $MOUNT || error "mount client failed"
+ lctl get_param -n osc.*OST0000-osc-[^M]*.import | grep failover_nids |
+ grep 1.2.3.4@tcp || error "failover nids haven't changed"
+ umount_client $MOUNT || error "umount client failed"
+ stop_all
+ reformat
+}
+run_test 73 "failnode to update from mountdata properly"
+
if ! combined_mgs_mds ; then
stop mgs
fi