Description of problem: Under NetBSD hosts, when two processes acting on same file via same glusterfs fuse mount, second process is re-using the previously opened fd by first process. As a result fd opened by second process lacks requested flags when passed to glusterfs layer. Version-Release number of selected component (if applicable): master How reproducible: Always Steps to Reproduce: 1. Setup a simple glusterfs distribute volume on a NetBSD 7 host. 2. Mount the volume under some mount point, say /mnt. 3. Switch off the performance tranlsators 4. Create a file under mount point, say /mnt/foo. 5. Compile and run lock.c with /mnt/foo as argument till it acquires a READ lock on it. 6. Attach gdb to brick process and put breakpoint at pl_writev. 7. From another session, compile and run write.c with /mnt/foo and perform the write. Actual results: fd->flags = 2 when breakpoint is hit Expected results: fd->flags = 6 when breakpoint is hit
Created attachment 1146586 [details] Process1
Created attachment 1146587 [details] Process2
We no longer run regressions on NetBSD.