2024-01-15 20:52:34

by Dai Ngo

[permalink] [raw]
Subject: nfstest_posix failed with 6.7 kernel

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