# buffer i/o errs sock spc runas
[ "$CPU" = "UML" ] && EXCEPT="$EXCEPT 27m 27n 27o 27p 27q 27r 31d 54a 64b 99a 99b 99c 99d 99e 99f 101a"
-case `uname -r` in
-2.4*) FSTYPE=${FSTYPE:-ext3} ;;
-2.6*) FSTYPE=${FSTYPE:-ldiskfs} ;;
-*) error "unsupported kernel" ;;
-esac
-
SRCDIR=$(cd $(dirname $0); echo $PWD)
export PATH=$PATH:/sbin
# compare lmm_object_id and lu_fid->oid
[ $lmm_oid = ${fid[2]} ] || { error "OID mismatch"; return 2; }
- [ "$FSTYPE" != "ldiskfs" ] &&
- skip "cannot check filter fid FSTYPE=$FSTYPE" && return 0
-
# check the trusted.fid attribute of the OST objects of the file
local have_obdidx=false
local stripe_nr=0
local ost=$((obdidx + 1))
local dev=$(ostdevname $ost)
+ if [ $(facet_fstype ost$ost) != ldiskfs ]; then
+ echo "Currently only works with ldiskfs-based OSTs"
+ continue
+ fi
+
log "want: stripe:$stripe_nr ost:$obdidx oid:$oid/$hex seq:$seq"
#don't unmount/remount the OSTs if we don't need to do that
run_test 39i "write, rename, stat =============================="
test_39j() {
- debugsave
- lctl set_param debug=-1
+ start_full_debug_logging
touch $DIR1/$tfile
sleep 1
- multiop_bg_pause $DIR1/$tfile oO_RDWR:w2097152_c || error "multiop failed"
+ #define OBD_FAIL_OSC_DELAY_SETTIME 0x412
+ lctl set_param fail_loc=0x80000412
+ multiop_bg_pause $DIR1/$tfile oO_RDWR:w2097152_c ||
+ error "multiop failed"
local multipid=$!
local mtime1=`stat -c %Y $DIR1/$tfile`
for (( i=0; i < 2; i++ )) ; do
local mtime2=`stat -c %Y $DIR1/$tfile-1`
- [ "$mtime1" = "$mtime2" ] || \
- error "mtime is lost on close: $mtime2, should be $mtime1"
+ [ "$mtime1" = "$mtime2" ] ||
+ error "mtime is lost on close: $mtime2, " \
+ "should be $mtime1"
cancel_lru_locks osc
if [ $i = 0 ] ; then echo "repeat after cancel_lru_locks"; fi
done
- debugrestore
+ lctl set_param fail_loc=0
+ stop_full_debug_logging
}
run_test 39j "write, rename, close, stat ======================="
done
# restore original max_pages_per_rpc
$LCTL set_param $osc1_mppc=$orig_mppc
+ rm $DIR/$tfile || error "rm $DIR/$tfile failed"
}
run_test 49 "Change max_pages_per_rpc won't break osc extent"
for VALUE in `lctl get_param osc.*osc-[^mM]*.checksum_type`; do
PARAM=`echo ${VALUE[0]} | cut -d "=" -f1`
algo=`lctl get_param -n $PARAM | sed 's/.*\[\(.*\)\].*/\1/g'`
- [ "$algo" = "crc32" ] || error "algo set to $algo instead of crc32"
+ [ "$algo" = "adler" ] || error "algo set to $algo instead of adler"
done
remount_client $MOUNT
}
done
}
test_129() {
- [ "$FSTYPE" != "ldiskfs" ] && skip "not needed for FSTYPE=$FSTYPE" && return 0
+ if [ "$(facet_type_fstype MDS)" != ldiskfs ]; then
+ skip "Only applicable to ldiskfs-based MDTs"
+ return
+ fi
remote_mds_nodsh && skip "remote MDS with nodsh" && return
EFBIG=27
mkdir -p ${testdir2} || error "mkdir failed"
createmany -o $testdir1/test 512 || error "createmany failed"
- local testdir1_size=$(ls -l $DIR/${tdir} |
- awk '/stats_testdir1/ {print $5}')
- local testdir2_size=$(ls -l $DIR/${tdir} |
- awk '/stats_testdir2/ {print $5}')
- testdir1_size=$(order_2 $testdir1_size)
- testdir2_size=$(order_2 $testdir2_size)
+ # check samedir rename size
+ mv ${testdir1}/test0 ${testdir1}/test_0
+
+ local testdir1_size=$(ls -l $DIR/${tdir} |
+ awk '/stats_testdir1/ {print $5}')
+ local testdir2_size=$(ls -l $DIR/${tdir} |
+ awk '/stats_testdir2/ {print $5}')
+
+ testdir1_size=$(order_2 $testdir1_size)
+ testdir2_size=$(order_2 $testdir2_size)
- testdir1_size=$(size_in_KMGT $testdir1_size)
- testdir2_size=$(size_in_KMGT $testdir2_size)
+ testdir1_size=$(size_in_KMGT $testdir1_size)
+ testdir2_size=$(size_in_KMGT $testdir2_size)
- echo "source rename dir size: ${testdir1_size}"
- echo "target rename dir size: ${testdir2_size}"
+ echo "source rename dir size: ${testdir1_size}"
+ echo "target rename dir size: ${testdir2_size}"
- # check samedir rename size
- mv ${testdir1}/test0 ${testdir1}/test_0
local cmd="do_facet $SINGLEMDS $LCTL get_param mdt.*.rename_stats"
eval $cmd || error "$cmd failed"
local samedir=$($cmd | grep 'same_dir')
# check crossdir rename size
mv ${testdir1}/test_0 ${testdir2}/test_0
+
+ testdir1_size=$(ls -l $DIR/${tdir} |
+ awk '/stats_testdir1/ {print $5}')
+ testdir2_size=$(ls -l $DIR/${tdir} |
+ awk '/stats_testdir2/ {print $5}')
+
+ testdir1_size=$(order_2 $testdir1_size)
+ testdir2_size=$(order_2 $testdir2_size)
+
+ testdir1_size=$(size_in_KMGT $testdir1_size)
+ testdir2_size=$(size_in_KMGT $testdir2_size)
+
+ echo "source rename dir size: ${testdir1_size}"
+ echo "target rename dir size: ${testdir2_size}"
+
eval $cmd || error "$cmd failed"
local crossdir=$($cmd | grep 'crossdir')
local src_sample=$(get_rename_size $testdir1_size)
# /proc/sys/lnet/nis should look like this:
# nid status alive refs peer rtr max tx min
# where nid is a string like 192.168.1.1@tcp2, status is up/down,
- # alive is numeric (0 or >0 or <0), refs > 0, peer >= 0,
+ # alive is numeric (0 or >0 or <0), refs >= 0, peer >= 0,
# rtr >= 0, max >=0, tx and min are numeric (0 or >0 or <0).
L1="^nid +status +alive +refs +peer +rtr +max +tx +min$"
- BR="^$NID +(up|down) +$I +$P +$N +$N +$N +$I +$I$"
+ BR="^$NID +(up|down) +$I +$N +$N +$N +$N +$I +$I$"
create_lnet_proc_files "nis"
check_lnet_proc_entry "nis.out" "/proc/sys/lnet/nis" "$BR" "$L1"
check_lnet_proc_entry "nis.sys" "lnet.nis" "$BR" "$L1"