Doug,
I had the same problem. Unfortunately getting rid of the bogus SMB<->NFS proxy
approach was no option.
The solution was a kernel patch found on a Samba mailing list (don't recall
which one, a couple of years old IIRC).
Here's the patch as it will apply to a RHEL5/CentOS5 kernel:
--- a/fs/nfs/file.c 2011-02-22 12:49:27.000000000 +0100
+++ b/fs/nfs/file.c 2011-02-22 13:14:57.000000000 +0100
@@ -653,10 +653,16 @@
* Not sure whether that would be unique, though, or whether
* that would break in other places.
*/
- if (!(fl->fl_flags & FL_FLOCK))
+
+ /**
+ * Don't simulate flock() using posix locks, as they appear to collide
with
+ * legitimate posix locks from the same process.
+ */
+ if (fl->fl_flags & FL_FLOCK)
return -ENOLCK;
/* We're simulating flock() locks using posix locks on the server */
+ /* ...except we shouldn't get here, due to the above patch. */
fl->fl_owner = (fl_owner_t)filp;
fl->fl_start = 0;
fl->fl_end = OFFSET_MAX;
I downloaded the kernel source rpm, installed it and put the patch into a file
in the /usr/src/redhat/SOURCES directory.
Then I modified the /usr/src/redhat/SPECS/kernel-2.6.spec file to apply the
patch and ran
rpmbuild -ba kernel-2.6.spec
The kernel RPMs created are in /usr/src/redhat/RPMS/<architecture>
Mail me if you need details regarding this procedure...
Uli
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/options/samba