esac
 }
 
+_fsck_opts()
+{
+    case $FSTYP in
+    ext2|ext3|ext4)
+       export FSCK_OPTIONS="-nf"
+       ;;
+    reiserfs)
+       export FSCK_OPTIONS="--yes"
+       ;;
+    *)
+       export FSCK_OPTIONS="-n"
+       ;;
+    esac
+}
+
 [ -z "$FSTYP" ] && FSTYP=xfs
 [ -z "$MOUNT_OPTIONS" ] && _mount_opts
 [ -z "$MKFS_OPTIONS" ] && _mkfs_opts
+[ -z "$FSCK_OPTIONS" ] && _fsck_opts
 
 
 # we need common.config
         mountpoint=`_umount_or_remount_ro $device`
     fi
 
-    fsck -t $FSTYP -n $device >$tmp.fsck 2>&1
+    fsck -t $FSTYP $FSCK_OPTIONS $device >$tmp.fsck 2>&1
     if [ $? -ne 0 ]
     then
         echo "_check_generic_filesystem: filesystem on $device is inconsistent (see $seq.full)"
     return 0
 }
 
-# Check an ext2/3/4 filesystem
-#
-_check_extN_filesystem()
-{
-    device=$1
-
-    # If type is set, we're mounted
-    type=`_fs_type $device`
-    ok=1
-
-    if [ "$type" = "$FSTYP" ]
-    then
-        # mounted ...
-        mountpoint=`_umount_or_remount_ro $device`
-    fi
-
-    e2fsck -nf $device >$tmp.fsck 2>&1
-    if [ $? -ne 0 ]
-    then
-        echo "_check_extN_filesystem: filesystem on $device is inconsistent (see $seq.full)"
-
-        echo "_check_extN filesystem: filesystem on $device is inconsistent" >>$here/$seq.full
-        echo "*** e2fsck output ***"                          >>$here/$seq.full
-        cat $tmp.fsck                                         >>$here/$seq.full
-        echo "*** end e2fsck output"                          >>$here/$seq.full
-
-        ok=0
-    fi
-    rm -f $tmp.fsck
-
-    if [ $ok -eq 0 ]
-    then
-        echo "*** mount output ***"                           >>$here/$seq.full
-        _mount                                                >>$here/$seq.full
-        echo "*** end mount output"                           >>$here/$seq.full
-    elif [ "$type" = "$FSTYP" ]
-    then
-       # was mounted ...
-       _mount_or_remount_rw "$MOUNT_OPTIONS" $device $mountpoint
-       ok=$?
-    fi
-
-    [ $ok -eq 0 ] && exit 1
-    return 0
-}
-
 # run xfs_check and friends on a FS.
 
 _check_xfs_filesystem()
     udf)
        # do nothing for now
        ;;
-    ext2|ext3|ext4)
-       _check_extN_filesystem $TEST_DEV
-       ;;
     *)
        _check_generic_filesystem $TEST_DEV
        ;;
     nfs*)
        # Don't know how to check an NFS filesystem, yet.
        ;;
-    ext2|ext3|ext4)
-       _check_extN_filesystem $SCRATCH_DEV
-       ;;
     *)
        _check_generic_filesystem $SCRATCH_DEV
        ;;