| Summary: | [FEAT] NFS: Locking on MacOS X client fails | ||
|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Sachidananda Urs <sac> |
| Component: | nfs | Assignee: | Vivek Agarwal <vagarwal> |
| Status: | CLOSED WONTFIX | QA Contact: | |
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | pre-release | CC: | gluster-bugs, rfortier, sankarshan, vbellur |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-07-22 13:51:25 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
did a wireshark dump on the server. Mac OSX does a portmap query for NLMv4 on UDP for which portmapper returns "Program Not Available" error. Mac OSX just fails after words. We need UDP implementation of RPC to fix this. Also when linux kernel server is used Mac OSX client sends async NLM procedures (MSG/RES) Will bring in this support post 3.3.0. Not a supported configuration. |
When tried to run a lock test, the following error is seen in the dmesg of the client. And the lock test just blocks. nfs server 192.168.1.77:/nfs-multi-client: lockd not responding nfs server 192.168.1.77:/nfs-multi-client: lockd not responding nfs server 192.168.1.77:/nfs-multi-client: lockd not responding nfs server 192.168.1.77:/nfs-multi-client: lockd not responding nfs server 192.168.1.77:/nfs-multi-client: lockd not responding nfs server 192.168.1.77:/nfs-multi-client: lockd not responding Nothing is seen in the nfs logs, absolutely nothing at all. Other file operations work just fine. mac:nfs1 root# cat test1.c #include <stdio.h> #include <unistd.h> #include <fcntl.h> #include <err.h> #include <sysexits.h> #include <sys/param.h> int main(void) { int fd, i, fi; struct flock fl; char fpath[MAXPATHLEN + 1]; if ((fd = open("foo.txt", O_CREAT|O_WRONLY|O_APPEND, 0)) == -1) err(EX_OSERR, "open failed"); fl.l_start = 0; fl.l_len = 0; fl.l_whence = SEEK_SET; fl.l_type = F_WRLCK; if (fcntl(fd, F_SETLKW, &fl) == -1) err(EX_OSERR, "fcntl failed"); return 0; }