local dir=$1
local poolname=$2
local objname=${3:-SOMETHING}
- local expect=${4:-0}
+ local expect=${4:-ok}
#
# Expect a failure to get object
#
- if [ $expect = "1" ];
+ if [ $expect = "fail" ];
then
! rados --pool $poolname get $objname $dir/COPY
return
#
rados_put $dir $poolname $objname || return 1
# We can read even though caller injected read error on one of the shards
- rados_get $dir $poolname $objname 0 || return 1
+ rados_get $dir $poolname $objname || return 1
if [ -n "$recovery" ];
then
ceph osd out ${initial_osds[$last]} || return 1
! get_osds $poolname $objname | grep '\<'${initial_osds[$last]}'\>' || return 1
# This will fail since one shard is out and one shard has injected read error
- rados_get $dir $poolname $objname 1 || return 1
+ rados_get $dir $poolname $objname fail || return 1
ceph osd in ${initial_osds[$last]} || return 1
fi
shard_id=$(expr $shard_id + 1)
inject_eio $objname $dir $shard_id || return 1
# Now 2 out of 3 shards get EIO, so should fail
- rados_get $dir $poolname $objname 1 || return 1
+ rados_get $dir $poolname $objname fail || return 1
}
# Change the size of speificied shard
#
set_size $objname $dir $shard_id $bytes $mode || return 1
- rados_get $dir $poolname $objname 0 || return 1
+ rados_get $dir $poolname $objname || return 1
# Leave objname and modify another shard
shard_id=$(expr $shard_id + 1)
set_size $objname $dir $shard_id $bytes $mode || return 1
- rados_get $dir $poolname $objname 1 || return 1
+ rados_get $dir $poolname $objname fail || return 1
}
#