[OmniOS-discuss] NFS v3 locking broken in latest OmniOS r151012 and updates

Youzhong Yang youzhong at gmail.com
Wed Jan 28 18:13:54 UTC 2015


Depending on how many active locks your system needs to handle, 80 might be
a small value.

We use a different distro of illumos-gate and we set max threads to 1024,
so far so good we are happy with the open source nlockmgr except the
nlockmgr startup issue when machine reboots.



On Wed, Jan 28, 2015 at 1:02 PM, Joe Little <jmlittle at gmail.com> wrote:

> Just to answer this question, I had already bumped that up based on some
> suggestions on the net:
>
> root at miele:/root# echo ::svc_pool nlm | mdb -k | grep 'Max threads'
>
> mdb: failed to add kvm_pte_chain walker: walk name already in use
>
> mdb: failed to add kvm_rmap_desc walker: walk name already in use
>
> mdb: failed to add kvm_mmu_page_header walker: walk name already in use
>
> mdb: failed to add kvm_pte_chain walker: walk name already in use
>
> mdb: failed to add kvm_rmap_desc walker: walk name already in use
>
> mdb: failed to add kvm_mmu_page_header walker: walk name already in use
>
> Max threads             = 80
>
> Still no locking w/ v3.
>
> On Wed, Jan 28, 2015 at 9:23 AM, Youzhong Yang <youzhong at gmail.com> wrote:
>
>> max threads of nlockmgr is set to 20 I think. Bump up this value then you
>> can get rid of 'no locks available' error.
>>
>> To confirm the current value:
>>
>> echo ::svc_pool nlm | mdb -k | grep 'Max threads'
>>
>> On Wed, Jan 28, 2015 at 11:49 AM, Joe Little <jmlittle at gmail.com> wrote:
>>
>>> I recently switched one file server from Nexenta 4 Community (still uses
>>> closed NLM I believe) to OmniOS r151012.
>>>
>>> Immediately, users started to complain from various Linux clients that
>>> locking was failing. Most of those clients explicitly set their NFS version
>>> to 3. I finally isolated that the locking does not fail on NFS v4 and have
>>> worked on transition where possible. But presently, no NFS v3 client and
>>> successfully lock against OmniOS NFS v3 locking service. I've confirmed
>>> that the locking service is running and is present using rpcinfo, matching
>>> one for one in services from previous OpenSolaris and Illumos variants. One
>>> example from a user:
>>>
>>> $ strace /bin/tcsh
>>>
>>> [...]
>>>
>>> open("/home/REDACTED/.history", O_RDWR|O_CREAT, 0600) = 0
>>>
>>> dup(0)                                  = 1
>>>
>>> dup(1)                                  = 2
>>>
>>> dup(2)                                  = 3
>>>
>>> dup(3)                                  = 4
>>>
>>> dup(4)                                  = 5
>>>
>>> dup(5)                                  = 6
>>>
>>> close(5)                                = 0
>>>
>>> close(4)                                = 0
>>>
>>> close(3)                                = 0
>>>
>>> close(2)                                = 0
>>>
>>> close(1)                                = 0
>>>
>>> close(0)                                = 0
>>>
>>> fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
>>>
>>> fcntl(6, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0})
>>>
>>>
>>> HERE fcntl hangs for 1-2 min and finally returns with "-1 ENOLCK (No
>>>
>>> locks available)"
>>>
>>> _______________________________________________
>>> OmniOS-discuss mailing list
>>> OmniOS-discuss at lists.omniti.com
>>> http://lists.omniti.com/mailman/listinfo/omnios-discuss
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://omniosce.org/ml-archive/attachments/20150128/5e0d0f99/attachment.html>


More information about the OmniOS-discuss mailing list