reset_async
#define OBD_FAIL_OST_ENOENT 0x217
- sysctl -w lustre.fail_loc=0x217
+ do_facet ost sysctl -w lustre.fail_loc=0x217
multiop $DIR/$tfile oO_CREAT:O_RDWR:O_SYNC:w4096c
RC=$?
- sysctl -w lustre.fail_loc=0
+ do_facet ost sysctl -w lustre.fail_loc=0
DIRTY=$(grep -c dirty $LPROC/llite/*/dump_page_cache)
WRITEBACK=$(grep -c writeback $LPROC/llite/*/dump_page_cache)
reset_async
#define OBD_FAIL_OST_EROFS 0x216
- sysctl -w lustre.fail_loc=0x216
+ do_facet ost sysctl -w lustre.fail_loc=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
- sysctl -w lustre.fail_loc=0
+ do_facet ost sysctl -w lustre.fail_loc=0
wait $MULTIPID
RC=$?
if [[ $RC -ne 0 ]]; then
reset_async
#define OBD_FAIL_OST_BRW_PAUSE_BULK
- sysctl -w lustre.fail_loc=0x214
+ do_facet ost sysctl -w lustre.fail_loc=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
DIRTY=$(grep -c dirty $LPROC/llite/*/dump_page_cache)
WRITEBACK=$(grep -c writeback $LPROC/llite/*/dump_page_cache)
# Should simulate EINVAL error which is fatal
multiop $DIR/$tfile oO_CREAT:O_RDWR:O_SYNC:w4096c
RC=$?
-
if [[ $RC -eq 0 ]]; then
error "Must return error due to dropped pages, rc=$RC"
fi
-
+
+ sysctl -w lustre.fail_loc=0x0
+
LOCKED=$(grep -c locked $LPROC/llite/*/dump_page_cache)
DIRTY=$(grep -c dirty $LPROC/llite/*/dump_page_cache)
WRITEBACK=$(grep -c writeback $LPROC/llite/*/dump_page_cache)
reset_async
#define OBD_FAIL_OST_BRW_WRITE_BULK 0x20e
- sysctl -w lustre.fail_loc=0x20e
+ do_facet ost sysctl -w lustre.fail_loc=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=$?
- sysctl -w lustre.fail_loc=0
+ do_facet ost sysctl -w lustre.fail_loc=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
- sysctl -w lustre.fail_loc=0x20e
+ do_facet ost sysctl -w lustre.fail_loc=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
- sysctl -w lustre.fail_loc=0
+ do_facet ost sysctl -w lustre.fail_loc=0
wait $PID
RC=$?
reset_async
#define OBD_FAIL_OST_BRW_WRITE_BULK2 0x220
- sysctl -w lustre.fail_loc=0x220
+ do_facet ost sysctl -w lustre.fail_loc=0x220
# return -EIO from OST
multiop $DIR/$tfile oO_CREAT:O_RDWR:O_SYNC:w4096c
RC=$?
- sysctl -w lustre.fail_loc=0x0
+ do_facet ost sysctl -w lustre.fail_loc=0x0
if [[ $RC -eq 0 ]]; then
error "Must return error due to dropped pages, rc=$RC"
fi