2013-05-31 15:45:31

by Eric Sandeen

[permalink] [raw]
Subject: [PATCH] xfstests: fix seek_sanity_test for fs w/o fallocate

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 <[email protected]>
---

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
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs


2013-05-31 17:06:58

by Zheng Liu

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

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 <[email protected]>
> ---
>
> 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
> [email protected]
> http://oss.sgi.com/mailman/listinfo/xfs

2013-05-31 17:15:58

by Eric Sandeen

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

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 <[email protected]>
>> ---
>>
>> 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
>> [email protected]
>> http://oss.sgi.com/mailman/listinfo/xfs


2013-05-31 19:02:38

by Rich Johnston

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

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
>

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

2013-06-01 04:51:35

by Eric Sandeen

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

On May 31, 2013, at 2:02 PM, Rich Johnston <[email protected]> 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
> [email protected]
> http://oss.sgi.com/mailman/listinfo/xfs
>

2013-06-01 15:51:11

by Zheng Liu

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

?? 2013-6-1??????3:02??Rich Johnston <[email protected]> ะด????

> 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
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

2013-06-03 12:41:06

by Rich Johnston

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

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 <[email protected]>

Thanks Eric and Zheng, this has been committed.

commit 3e889c6735117e0906c339ffae0dbc17a4df27fb
Author: Eric Sandeen <[email protected]>
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