diff mbox

xfstests: fix seek_sanity_test for fs w/o fallocate

Message ID 51A8C59B.3030308@redhat.com
State Not Applicable, archived
Headers show

Commit Message

Eric Sandeen May 31, 2013, 3:45 p.m. UTC
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.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---


--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Eric Sandeen May 31, 2013, 5:15 p.m. UTC | #1
On 5/31/13 12:24 PM, Zheng Liu wrote:
> 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

Oh, right, I had forgotten about that.  Rich, any idea?

I don't care which patch goes in....

-Eric

>                                                 - Zheng
> 
>>
>> Signed-off-by: Eric Sandeen <sandeen@redhat.com>
>> ---
>>
>> 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@oss.sgi.com
>> http://oss.sgi.com/mailman/listinfo/xfs

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Zheng Liu May 31, 2013, 5:24 p.m. UTC | #2
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@redhat.com>
> ---
> 
> 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@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rich Johnston May 31, 2013, 7:02 p.m. UTC | #3
On 05/31/2013 12:15 PM, Eric Sandeen wrote:
> On 5/31/13 12:24 PM, Zheng Liu wrote:
>> 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
>
> Oh, right, I had forgotten about that.  Rich, any idea?

No other than it was a Friday.  My apologies Zheng.
Zheng as your's should have been committed, what do you want me to do?

--Rich

>
> I don't care which patch goes in....
>
> -Eric
>

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eric Sandeen June 1, 2013, 4:51 a.m. UTC | #4
On May 31, 2013, at 2:02 PM, Rich Johnston <rjohnston@sgi.com> wrote:

> On 05/31/2013 12:15 PM, Eric Sandeen wrote:
>> On 5/31/13 12:24 PM, Zheng Liu wrote:
>>> 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
>> 
>> Oh, right, I had forgotten about that.  Rich, any idea?
> 
> No other than it was a Friday.  My apologies Zheng.
> Zheng as your's should have been committed, what do you want me to do?
> 
Actually let's merge mine since it allows testing on ext2/3.  The other just disables those filesystems...

-Eric

> --Rich
> 
>> 
>> I don't care which patch goes in....
>> 
>> -Eric
> 
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Zheng Liu June 1, 2013, 3:51 p.m. UTC | #5
在 2013-6-1,上午3:02,Rich Johnston <rjohnston@sgi.com> 写道:

> On 05/31/2013 12:15 PM, Eric Sandeen wrote:
>> On 5/31/13 12:24 PM, Zheng Liu wrote:
>>> 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
>> 
>> Oh, right, I had forgotten about that.  Rich, any idea?
> 
> No other than it was a Friday.  My apologies Zheng.
> Zheng as your's should have been committed, what do you want me to do?

Hi Rich,

Sorry for my late reply.  As Eric said, please apply his patch because it is better.

Thanks,
                                                - Zheng--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rich Johnston June 3, 2013, 12:42 p.m. UTC | #6
On 05/31/2013 10:45 AM, 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.
>
> Signed-off-by: Eric Sandeen <sandeen@redhat.com>

Thanks Eric and Zheng, this has been committed.

commit 3e889c6735117e0906c339ffae0dbc17a4df27fb
Author: Eric Sandeen <sandeen@redhat.com>
Date:   Mon Jun 3 07:28:17 2013 -0500

     xfstests: fix seek_sanity_test for fs w/o fallocate

(Rich adds another step to his commit procedure to prevent this from 
happening again)

--Rich
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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)