xfs
[Top] [All Lists]

Re: [PATCH] xfstests: fix seek_sanity_test for fs w/o fallocate

To: Eric Sandeen <sandeen@xxxxxxxxxx>
Subject: Re: [PATCH] xfstests: fix seek_sanity_test for fs w/o fallocate
From: Zheng Liu <gnehzuil.liu@xxxxxxxxx>
Date: Sat, 1 Jun 2013 01:24:56 +0800
Cc: xfs-oss <xfs@xxxxxxxxxxx>, ext4 development <linux-ext4@xxxxxxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=/+uNEaBhyjKyayecvrq2J/vGfzbLOYDI0uAjkXi2BuE=; b=isQkD4o32i/1/EQjgTUL2McT47GuoAgu8GhZD79H4pTFonqnA20Y/PpvuYh1RQjt7R 7lkAupkzCHVNj7SYDqr/CDYvm4VzWqtQqxgmzyQGWGjbnQWv/R/PgtqmAVu1zzzbCem9 VxJqIb+oQ6RI0EDKGLRB8g3VUwqb3V2D0r/y4QHMlSPWmMcEgXlp3550+KMU/5Ra8SQq OYO/RwFrCauxtIvFozUVMneI/oqvljmgbN2tPqvGvQUC5PtVGO1cpMB0xkIa+/Ah4DpY KKdiBXngjikZJTrUzWh7oSN7D5APb99DlV2bq513K8zXDzg/PPHt5OCVo83d8qoAal1K 8pTg==
In-reply-to: <51A8C59B.3030308@xxxxxxxxxx>
Mail-followup-to: Eric Sandeen <sandeen@xxxxxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx>, ext4 development <linux-ext4@xxxxxxxxxxxxxxx>
References: <51A8C59B.3030308@xxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Fri, May 31, 2013 at 10:45:31AM -0500, Eric Sandeen wrote:
> currently the seek_sanity_test (generic/285) fails on ext3
> or ext2 due to fallocate() failures.  Just ignore that test
> if the fs doesn't support fallocate.

Hi Eric,

I remember that my patch had been applied [1].  But stranger I couldn't
find it in xfstests tree.  However, I think that your patch is better.

1. http://oss.sgi.com/archives/xfs/2013-05/msg00534.html

                                                - Zheng

> 
> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
> ---
> 
> diff --git a/src/seek_sanity_test.c b/src/seek_sanity_test.c
> index cd3b1ee..fbf5a8c 100644
> --- a/src/seek_sanity_test.c
> +++ b/src/seek_sanity_test.c
> @@ -96,9 +96,13 @@ static int do_fallocate(int fd, off_t offset, off_t 
> length, int mode)
>       int ret;
>  
>       ret = fallocate(fd, mode, offset, length);
> -     if (ret)
> +     if (ret) {
> +             /* Don't warn about a filesystem w/o fallocate support */
> +             if (errno == EOPNOTSUPP)
> +                     return ret;
>               fprintf(stderr, "  ERROR %d: Failed to preallocate "
>                       "space to %ld bytes\n", errno, (long) length);
> +     }
>  
>       return ret;
>  }
> @@ -290,8 +294,14 @@ static int test09(int fd, int testnum)
>  
>       /* preallocate 8M space to file */
>       ret = do_fallocate(fd, 0, filsz, 0);
> -     if (ret < 0)
> +     if (ret < 0) {
> +             /* Report success if fs doesn't support fallocate */
> +             if (errno == EOPNOTSUPP) {
> +                     fprintf(stdout, "Test skipped as fs doesn't support 
> fallocate.\n");
> +                     ret = 0;
> +             }
>               goto out;
> +     }
>  
>       ret = do_pwrite(fd, buf, bufsz, bufsz * 10);
>       if (!ret) {
> @@ -336,8 +346,14 @@ static int test08(int fd, int testnum)
>  
>       /* preallocate 4M space to file */
>       ret = do_fallocate(fd, 0, filsz, 0);
> -     if (ret < 0)
> +     if (ret < 0) {
> +             /* Report success if fs doesn't support fallocate */
> +             if (errno == EOPNOTSUPP) {
> +                     fprintf(stdout, "Test skipped as fs doesn't support 
> fallocate.\n");
> +                     ret = 0;
> +             }
>               goto out;
> +     }
>  
>       ret = do_pwrite(fd, buf, bufsz, bufsz * 10);
>       if (ret)
> @@ -379,8 +395,14 @@ static int test07(int fd, int testnum)
>  
>       /* preallocate 4M space to file */
>       ret = do_fallocate(fd, 0, filsz, 0);
> -     if (ret < 0)
> +     if (ret < 0) {
> +             /* Report success if fs doesn't support fallocate */
> +             if (errno == EOPNOTSUPP) {
> +                     fprintf(stdout, "Test skipped as fs doesn't support 
> fallocate.\n");
> +                     ret = 0;
> +             }
>               goto out;
> +     }
>  
>       ret = do_pwrite(fd, buf, bufsz, bufsz * 10);
>       if (ret)
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

<Prev in Thread] Current Thread [Next in Thread>