-
Notifications
You must be signed in to change notification settings - Fork 92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
testsuite: File ID change after local file system operation on macOS hosts #1825
Comments
|
|
|
|
|
|
As an experiment, I modified test420 to use @NJRoadfan In my surface level reading of the AFP3 spec, I couldn't find anything that said what the correct CNID behavior is when modifying the host's file system directly. At the same time, it does say that when using Do you have any insights here? |
Does the behavior change if |
@NJRoadfan Off the top of my head, I'm not sure how to dynamically validate the inodes of the test files that are created and modified during test runtime. Additional logging might be required. I tried the A quick note on progress: I have workarounds for most of the tests, except for test412. This test moves a dir containing a file into another dir, creating a new nested dir structure on the fly. This particular operation seems to upset the CNID of the former dir and file. As far as AFP is concerned, they don't exist anymore at that point, and operations like FPGetFileDirParams or FPDelete fail. Under real usage (macOS client) this doesn't cause any actual harm. I assume the CNID database gets refreshed by another mechanism. |
Six testsuite test cases that deal with local file system file IDs fail when running on macOS Sequoia hosts:
One example of simplified logic from test360:
FPCreateFile(Conn, vol, 0, dir , name)
FPGetFileDirParams(Conn, vol, dir , name, bitmap,0)
afp_filedir_unpack(&filedir, dsi->data +ofs, bitmap, 0)
fid = filedir.did
rename(temp, temp1)
afp_filedir_unpack(&filedir, dsi->data +ofs, bitmap, 0)
if fid != filedir.did test_failed()
On Linux, the ID remains the same. on macOS, the ID changes.
The text was updated successfully, but these errors were encountered: