| #! /bin/bash |
| # SPDX-License-Identifier: GPL-2.0 |
| # Copyright (c) 2014 Wang Shilong. All Rights Reserved. |
| # |
| # FS QA Test No. btrfs/076 |
| # |
| # Regression test for btrfs incorrect inode ratio detection. |
| # This was fixed in the following linux kernel patch: |
| # |
| # Btrfs: fix incorrect compression ratio detection |
| # |
| seq=`basename $0` |
| seqres=$RESULT_DIR/$seq |
| echo "QA output created by $seq" |
| |
| here=`pwd` |
| tmp=/tmp/$$ |
| |
| status=1 # failure is the default! |
| trap "_cleanup; exit \$status" 0 1 2 3 15 |
| |
| _cleanup() |
| { |
| cd / |
| rm -fr $tmp |
| } |
| |
| # get standard environment, filters and checks |
| . ./common/rc |
| . ./common/filter |
| . ./common/defrag |
| |
| # real QA test starts here |
| _supported_fs btrfs |
| _require_test |
| _require_scratch |
| |
| rm -f $seqres.full |
| |
| _scratch_mkfs >> $seqres.full 2>&1 |
| _scratch_mount "-o compress=lzo" |
| |
| $XFS_IO_PROG -f -c "pwrite 0 10M" -c "fsync" \ |
| $SCRATCH_MNT/data >> $seqres.full 2>&1 |
| |
| _extent_count $SCRATCH_MNT/data |
| |
| $XFS_IO_PROG -f -c "pwrite 0 $((4096*33))" -c "fsync" \ |
| $SCRATCH_MNT/data >> $seqres.full 2>&1 |
| |
| $XFS_IO_PROG -f -c "pwrite 0 10M" -c "fsync" \ |
| $SCRATCH_MNT/data >> $seqres.full 2>&1 |
| |
| _extent_count $SCRATCH_MNT/data |
| |
| status=0 |
| exit |