Bug 810561

Summary: [FEAT] NFS: Locking on MacOS X client fails
Product: [Community] GlusterFS Reporter: Sachidananda Urs <sac>
Component: nfsAssignee: Vivek Agarwal <vagarwal>
Status: CLOSED WONTFIX QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: pre-releaseCC: 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:
Embargoed:

Description Sachidananda Urs 2012-04-06 17:38:33 UTC
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;       
}

Comment 1 Krishna Srinivas 2012-04-09 07:43:12 UTC
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)

Comment 2 Vijay Bellur 2012-05-08 11:11:10 UTC
Will bring in this support post 3.3.0.

Comment 3 Vivek Agarwal 2013-07-22 13:51:25 UTC
Not a supported configuration.