Re: [PATCHv3 3/4] generic/678: Add a new shutdown recovery test

Dave Chinner
2022-04-03T23:38:50Z

On Thu, Mar 31, 2022 at 06:24:22PM +0530, Ritesh Harjani wrote:
> From: Ritesh Harjani <riteshh@linux.ibm.com>
>
> In certain cases (it is noted with ext4 fast_commit feature) that, replay phase
> may not delete the right range of blocks (after sudden FS shutdown)
> due to some operations which depends on inode->i_size (which during replay of
> an inode with fast_commit could be 0 for sometime).
> This fstest is added to test for such scenarios for all generic fs.
>
> This test case is based on the test case shared via Xin Yin.
>
> Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com>
> ---
> tests/generic/678 | 72 +++++++++++++++++++++++++++++++++++++++++++
> tests/generic/678.out | 7 +++++
> 2 files changed, 79 insertions(+)
> create mode 100755 tests/generic/678
> create mode 100644 tests/generic/678.out
>
> diff --git a/tests/generic/678 b/tests/generic/678
> new file mode 100755
> index 00000000..46a7be6c
> --- /dev/null
> +++ b/tests/generic/678
> @@ -0,0 +1,72 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2022 IBM Corporation. All Rights Reserved.
> +#
> +# FS QA Test 678
> +#
> +# This test with ext4 fast_commit feature w/o below patch missed to delete the right
> +# range during replay phase, since it depends upon inode->i_size (which might not be
> +# stable during replay phase, at least for ext4).
> +# 0b5b5a62b945a141: ext4: use ext4_ext_remove_space() for fast commit replay delete range
> +# (Based on test case shared by Xin Yin <yinxin.x@bytedance.com>)
> +#
> +
> +. ./common/preamble
> +_begin_fstest auto shutdown quick log recoveryloop
> +
> +# Override the default cleanup function.
> +_cleanup()
> +{
> + cd /
> + rm -r -f $tmp.*
> +}

It's the same as the default cleanup function.

Cheers,

Dave.

--
Dave Chinner
david@fromorbit.com