reset_async
#define OBD_FAIL_OST_ENOENT 0x217
- do_facet ost sysctl -w lustre.fail_loc=0x217
+ set_nodes_failloc "$(osts_nodes)" 0x217
multiop $DIR/$tfile oO_CREAT:O_RDWR:O_SYNC:w4096c
RC=$?
- do_facet ost sysctl -w lustre.fail_loc=0
+ set_nodes_failloc "$(osts_nodes)" 0
DIRTY=$(lctl get_param -n llite.*.dump_page_cache | grep -c dirty)
WRITEBACK=$(lctl get_param -n llite.*.dump_page_cache |
grep -c writeback)
reset_async
#define OBD_FAIL_OST_EROFS 0x216
- do_facet ost sysctl -w lustre.fail_loc=0x216
+ set_nodes_failloc "$(osts_nodes)" 0x216
# multiop should block due to fsync until pages are written
multiop $DIR/$tfile oO_CREAT:O_RDWR:O_SYNC:w4096c &
error "No page in writeback, writeback=$WRITEBACK"
fi
- do_facet ost sysctl -w lustre.fail_loc=0
+ set_nodes_failloc "$(osts_nodes)" 0
wait $MULTIPID
RC=$?
if [[ $RC -ne 0 ]]; then
reset_async
#define OBD_FAIL_OST_BRW_PAUSE_BULK
- do_facet ost sysctl -w lustre.fail_loc=0x214
+ set_nodes_failloc "$(osts_nodes)" 0x214
# multiop should block due to fsync until pages are written
multiop $DIR/$tfile oO_CREAT:O_RDWR:O_SYNC:w4096c &
MULTIPID=$!
fi
wait $MULTIPID || error "Multiop fsync failed, rc=$?"
- do_facet ost sysctl -w lustre.fail_loc=0
+ set_nodes_failloc "$(osts_nodes)" 0
DIRTY=$(lctl get_param -n llite.*.dump_page_cache | grep -c dirty)
WRITEBACK=$(lctl get_param -n llite.*.dump_page_cache |
reset_async
#define OBD_FAIL_OST_BRW_WRITE_BULK 0x20e
- do_facet ost sysctl -w lustre.fail_loc=0x20e
+ set_nodes_failloc "$(osts_nodes)" 0x20e
# Should simulate ENOMEM error which is recoverable and should be handled by timeout
multiop $DIR/$tfile oO_CREAT:O_RDWR:O_SYNC:w4096c
RC=$?
- do_facet ost sysctl -w lustre.fail_loc=0
+ set_nodes_failloc "$(osts_nodes)" 0
if [[ $RC -eq 0 ]]; then
error "Must return error due to dropped pages, rc=$RC"
fi
reset_async
#define OBD_FAIL_OST_BRW_WRITE_BULK 0x20e
- do_facet ost sysctl -w lustre.fail_loc=0x20e
+ set_nodes_failloc "$(osts_nodes)" 0x20e
# Should simulate ENOMEM error which is recoverable and should be handled by timeout
multiop $DIR/$tfile oO_CREAT:O_RDWR:O_SYNC:w4096c &
PID=$!
sleep 5
- do_facet ost sysctl -w lustre.fail_loc=0
+ set_nodes_failloc "$(osts_nodes)" 0
wait $PID
RC=$?
reset_async
#define OBD_FAIL_OST_BRW_WRITE_BULK2 0x220
- do_facet ost sysctl -w lustre.fail_loc=0x220
+ set_nodes_failloc "$(osts_nodes)" 0x220
# return -EIO from OST
multiop $DIR/$tfile oO_CREAT:O_RDWR:O_SYNC:w4096c
RC=$?
- do_facet ost sysctl -w lustre.fail_loc=0x0
+ set_nodes_failloc "$(osts_nodes)" 0x0
if [[ $RC -eq 0 ]]; then
error "Must return error due to dropped pages, rc=$RC"
fi
test_118k()
{
#define OBD_FAIL_OST_BRW_WRITE_BULK 0x20e
- do_facet ost sysctl -w lustre.fail_loc=0x20e
+ set_nodes_failloc "$(osts_nodes)" 0x20e
mkdir -p $DIR/$tdir
for ((i=0;i<10;i++)); do
wait $SLEEPPID
done
- sysctl -w lustre.fail_loc=0
+ set_nodes_failloc "$(osts_nodes)" 0
}
run_test 118k "bio alloc -ENOMEM and IO TERM handling ========="