* directories, check space before transaction start.
*/
static int lod_trans_space_check(const struct lu_env *env,
+ struct lod_device *lod,
struct thandle *th)
{
struct lod_thread_info *info = lod_env_info(env);
if (rc) {
CDEBUG(D_INFO, "%s: fail - statfs error: rc = %d\n",
sub_dt->dd_lu_dev.ld_obd->obd_name, rc);
+ /* statfs may fail during recovery, skip check */
+ if (!lod->lod_recovery_completed)
+ rc = 0;
return rc;
}
if (lod->lod_dist_txn_check_space) {
int rc;
- rc = lod_trans_space_check(env, th);
+ rc = lod_trans_space_check(env, lod, th);
if (rc)
return rc;
}
test_111g() {
(( $MDSCOUNT >= 2 )) || skip "needs >= 2 MDTs"
- (( $MDS1_VERSION -ge $(version_code 2.7.56) )) ||
+ (( $MDS1_VERSION >= $(version_code 2.7.56) )) ||
skip "Need MDS version at least 2.7.56"
([ $FAILURE_MODE != "HARD" ] ||
[ "$(facet_host mds1)" != "$(facet_host mds2)" ]) ||
skip "MDTs needs to be on diff hosts for HARD fail mode"
- start_full_debug_logging
mkdir -p $DIR/$tdir
$LFS mkdir -i1 -c2 $DIR/$tdir/striped_dir
$LFS df -i
fail mds1,mds2
$CHECKSTAT -t dir $DIR/$tdir/striped_dir &&
error "striped dir still exists"
- stop_full_debug_logging
return 0
}
run_test 111g "DNE: unlink striped dir, fail MDT1/MDT2"