(resend with correct Jorge Mora address)
The 'open' tests of nfstest_posix failed with 6.7 kernel with these errors:
FAIL: open - opening existent file should return an error when O_EXCL|O_CREAT is used (256 passed, 256 failed)
FAIL: open - opening symbolic link should return an error when O_EXCL|O_CREAT is used (256 passed, 256 failed)
The problem can be reproduced with both client and server running
6.7 kernel.
Bisecting points to commit 43b450632676:
43b450632676: open: return EINVAL for O_DIRECTORY | O_CREAT
This commit was introduced in 6.4-rc1 and back ported to LTS kernels.
I'm not sure if the fix for this should be in the fs or in nfstest_posix.
The commit 43b450632676 makes sense to me. No one should expect open(2)
to create the directory so the error returned should be EINVAL instead of
EEXIST as nfstest_posix expects.
-Dai
On Mon, Jan 15, 2024 at 01:05:37PM -0800, [email protected] wrote:
> (resend with correct Jorge Mora address)
>
> The 'open' tests of nfstest_posix failed with 6.7 kernel with these errors:
>
> ??? FAIL: open - opening existent file should return an error when O_EXCL|O_CREAT is used (256 passed, 256 failed)
> ??? FAIL: open - opening symbolic link should return an error when O_EXCL|O_CREAT is used (256 passed, 256 failed)
it might be helpful if you either included a source code snippet of
"nfstest_posix" or a link to where we can see what it's doing. or an
strace of the failing call.
On 1/15/24 1:14 PM, Matthew Wilcox wrote:
> On Mon, Jan 15, 2024 at 01:05:37PM -0800, [email protected] wrote:
>> (resend with correct Jorge Mora address)
>>
>> The 'open' tests of nfstest_posix failed with 6.7 kernel with these errors:
>>
>> FAIL: open - opening existent file should return an error when O_EXCL|O_CREAT is used (256 passed, 256 failed)
>> FAIL: open - opening symbolic link should return an error when O_EXCL|O_CREAT is used (256 passed, 256 failed)
> it might be helpful if you either included a source code snippet of
> "nfstest_posix" or a link to where we can see what it's doing. or an
> strace of the failing call.
>
This is the link to source code of nfstest:
http://wiki.linux-nfs.org/wiki/index.php/NFStest#Download To reproduce
the problem run the test as follow: nfstest_posix --server /nfs_server/
--export=//home/nfs_share/ --notty --createlog --nfsversion=4.1
--tmpdir=/var/tmp/nfstestlogs --verbose all --runtest open -Dai
On Mon, Jan 15, 2024 at 01:05:37PM -0800, [email protected] wrote:
> (resend with correct Jorge Mora address)
>
> The 'open' tests of nfstest_posix failed with 6.7 kernel with these errors:
>
> FAIL: open - opening existent file should return an error when O_EXCL|O_CREAT is used (256 passed, 256 failed)
> FAIL: open - opening symbolic link should return an error when O_EXCL|O_CREAT is used (256 passed, 256 failed)
>
> The problem can be reproduced with both client and server running
> 6.7 kernel.
>
> Bisecting points to commit 43b450632676:
> 43b450632676: open: return EINVAL for O_DIRECTORY | O_CREAT
>
> This commit was introduced in 6.4-rc1 and back ported to LTS kernels.
> I'm not sure if the fix for this should be in the fs or in nfstest_posix.
> The commit 43b450632676 makes sense to me. No one should expect open(2)
> to create the directory so the error returned should be EINVAL instead of
> EEXIST as nfstest_posix expects.
Please change the test. The EINVAL fix for open is a really important
fix to the general vfs api.
Christian
On 1/16/24 1:25 AM, Christian Brauner wrote:
> On Mon, Jan 15, 2024 at 01:05:37PM -0800, [email protected] wrote:
>> (resend with correct Jorge Mora address)
>>
>> The 'open' tests of nfstest_posix failed with 6.7 kernel with these errors:
>>
>> FAIL: open - opening existent file should return an error when O_EXCL|O_CREAT is used (256 passed, 256 failed)
>> FAIL: open - opening symbolic link should return an error when O_EXCL|O_CREAT is used (256 passed, 256 failed)
>>
>> The problem can be reproduced with both client and server running
>> 6.7 kernel.
>>
>> Bisecting points to commit 43b450632676:
>> 43b450632676: open: return EINVAL for O_DIRECTORY | O_CREAT
>>
>> This commit was introduced in 6.4-rc1 and back ported to LTS kernels.
>> I'm not sure if the fix for this should be in the fs or in nfstest_posix.
>> The commit 43b450632676 makes sense to me. No one should expect open(2)
>> to create the directory so the error returned should be EINVAL instead of
>> EEXIST as nfstest_posix expects.
> Please change the test. The EINVAL fix for open is a really important
> fix to the general vfs api.
Jorge, can you help fixing the nfstest_posix to work with commit 43b450632676?
Thanks,
-Dai
>
> Christian