Actions
Bug #7846
closed[FUSE] Fuse MagicDirApiError test failure, kernel version specific?
Status:
Resolved
Priority:
Normal
Assigned To:
Category:
FUSE
Target version:
Story points:
-
Description
ERROR: runTest (tests.test_mount.MagicDirApiError) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/peter/work/arvados/services/fuse/tests/test_mount.py", line 1034, in runTest llfuse.listdir(os.path.join(self.mounttmp, self.testcollection)) File "llfuse/fuse_api.pxi", line 43, in llfuse.capi.listdir (src/llfuse/capi_linux.c:22621) OSError: [Errno 2] No such file or directory: '/tmp/tmpSbUVZB/97d180c4f916faf61fb3d64aa2263961+52'
This error doesn't happen on the Jenkins server.
My suspicion is that around v4.0 the Linux VFS may have changed the way directory listings are cached, so this test which checks if something exists (OSError on induced API fail) then checks again (API success) is failing the 2nd time because the 2nd request is being served from the Linux VFS cache instead of asking arv-mount again. The tentative solution is to do a VFS cache invalidation on the directory when there is an API error.
Actions