pedz
Dabbler
- Joined
- Jan 29, 2022
- Messages
- 35
This bug has me stumped so I'm grasping at straws.
From Ruby code, I do (more or less the equivalent of) a printf, followed by a call to link(from, to) (the system call), followed by another printf.
In the output, I get the first printf but not the second and the link fails with EEXIST -- the "to" link already exists. And, sure enough, the "to" link does exist and it is linked to "from" just like it is suppose to. The "to" link has, as part of it, its process id. So I know that this process created the link. The application is not multi-threaded.
This is executing in a jail and the file system for the link is mounted from the main platform. I'm running the latest TrueNAS release.
Could this be some kind of weird timing bug with the jail and the underlying ZFS mount point?
From Ruby code, I do (more or less the equivalent of) a printf, followed by a call to link(from, to) (the system call), followed by another printf.
In the output, I get the first printf but not the second and the link fails with EEXIST -- the "to" link already exists. And, sure enough, the "to" link does exist and it is linked to "from" just like it is suppose to. The "to" link has, as part of it, its process id. So I know that this process created the link. The application is not multi-threaded.
This is executing in a jail and the file system for the link is mounted from the main platform. I'm running the latest TrueNAS release.
Could this be some kind of weird timing bug with the jail and the underlying ZFS mount point?