All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eryu Guan <guaneryu@gmail.com>
To: "misono.tomohiro@fujitsu.com" <misono.tomohiro@fujitsu.com>
Cc: "fstests@vger.kernel.org" <fstests@vger.kernel.org>
Subject: Re: [PATCH] generic/469: Skip the test if fallocate keep_size is not supported
Date: Fri, 18 Oct 2019 18:24:17 +0800	[thread overview]
Message-ID: <20191018102417.GN2622@desktop> (raw)
In-Reply-To: <OSBPR01MB3783B9C166C06784BF5C7385E56C0@OSBPR01MB3783.jpnprd01.prod.outlook.com>

On Fri, Oct 18, 2019 at 09:02:12AM +0000, misono.tomohiro@fujitsu.com wrote:
> > On Wed, Oct 16, 2019 at 07:53:47PM +0900, Misono Tomohiro wrote:
> > > This test requires fallocate keep_size. So, skip the test if a target
> > > FS does not support the function to avoid false negative.
> > >
> > > Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
> > 
> > Would you please paste the false failure you've seen? I can't recall I hit such failures, and I think fsx would just disable unsupported
> > operations and don't cause failure, it just prints a message to stderr, and we already redirect stderr to $seqres.full in run_fsx
> > in 469.
> 
> Hi, I just got output mismatch error:
> 
> $ cat results/generic/469.out.bad
> QA output created by 469
> fsx --replay-ops fsxops.0
> Seed set to 1
> main: filesystem does not support fallocate mode FALLOC_FL_KEEP_SIZE, disabling!
> main: filesystem does not support fallocate mode FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, disabling!
> main: filesystem does not support fallocate mode FALLOC_FL_ZERO_RANGE, disabling!
> main: filesystem does not support fallocate mode FALLOC_FL_COLLAPSE_RANGE, disabling!
> main: filesystem does not support fallocate mode FALLOC_FL_INSERT_RANGE, disabling!
> main: filesystem does not support clone range, disabling!
> main: filesystem does not support dedupe range, disabling!
> fallocate: 0x0 to 0x1000
> do_preallocate: fallocate: Operation not supported
> LOG DUMP (1 total operations):
> 1(  1 mod 256): FALLOC   0x0 thru 0x1000        (0x1000 bytes) PAST_EOF
> Log of operations saved to "/test1/469.fsx.fsxops"; replay with --replay-ops
> Correct content saved for comparison
> (maybe hexdump "/test1/469.fsx" vs "/test1/469.fsx.fsxgood")

Ah, I recalled that I actually tried to fix this issue before, but Amir
didn't like my patch back then :)

https://spinics.net/lists/fstests/msg07953.html

Because my patch silently ignored 'keep_size' flag when replaying
operations, and look at it again, I don't like it either.

I think we could just skip the keep_size operations instead of ignoring
it.

Would you please try this patch?

diff --git a/ltp/fsx.c b/ltp/fsx.c
index 06d08e4e93f3..ae89bf665db4 100644
--- a/ltp/fsx.c
+++ b/ltp/fsx.c
@@ -2044,6 +2044,9 @@ have_op:
                if (!fallocate_calls) {
                        log4(OP_FALLOCATE, offset, size, FL_SKIPPED);
                        goto out;
+               } else if (keep_size && !keep_size_calls) {
+                       log4(OP_FALLOCATE, offset, size, FL_SKIPPED | FL_KEEP_SIZE);
+                       goto out;
                }
                break;
        case OP_PUNCH_HOLE:
@@ -2056,6 +2059,9 @@ have_op:
                if (!zero_range_calls) {
                        log4(OP_ZERO_RANGE, offset, size, FL_SKIPPED);
                        goto out;
+               } else if (keep_size && !keep_size_calls) {
+                       log4(OP_ZERO_RANGE, offset, size, FL_SKIPPED | FL_KEEP_SIZE);
+                       goto out;
                }
                break;
        case OP_COLLAPSE_RANGE:

Thanks!

Eryu
> 
> Thanks.
> 
> > 
> > Thanks,
> > Eryu
> > 
> > > ---
> > >  tests/generic/469 | 1 +
> > >  1 file changed, 1 insertion(+)
> > >
> > > diff --git a/tests/generic/469 b/tests/generic/469 index
> > > 47fdf0cf..0c6f8ae5 100755
> > > --- a/tests/generic/469
> > > +++ b/tests/generic/469
> > > @@ -40,6 +40,7 @@ rm -f $seqres.full
> > >  _supported_fs generic
> > >  _supported_os Linux
> > >  _require_test
> > > +_require_xfs_io_command "falloc" "-k"
> > >
> > >  run_fsx()
> > >  {
> > > --
> > > 2.21.0
> > >

  reply	other threads:[~2019-10-18 10:24 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-16 10:53 [PATCH] generic/469: Skip the test if fallocate keep_size is not supported Misono Tomohiro
2019-10-17  2:42 ` Yang Xu
2019-10-17  2:52   ` misono.tomohiro
2019-10-17  3:55     ` Yang Xu
2019-10-17  7:08       ` misono.tomohiro
2019-10-18  8:39 ` Eryu Guan
2019-10-18  9:02   ` misono.tomohiro
2019-10-18 10:24     ` Eryu Guan [this message]
2019-10-18 10:52       ` misono.tomohiro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191018102417.GN2622@desktop \
    --to=guaneryu@gmail.com \
    --cc=fstests@vger.kernel.org \
    --cc=misono.tomohiro@fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.