On Thu, 2008-04-10 at 21:51 +0200, Miklos Szeredi wrote:Wait. There is something really weird going on here. According to the spec, LCK_DENIED means 'the request failed' (i.e. ENOLCK is definitely correct) OTOH, LCK_DENIED_NOLOCKS and LCK_DENIED_GRACE_PERIOD are both temporary failures, the first because the server had a resource problem, and the second because the server rebooted and is in the grace period (i.e. EAGAIN would appear to be more appropriate). See http://www.opengroup.org/onlinepubs/9629799/chap10.htm#tagcjh_11_02_02_02 AFAICS, the correct thing to do is to fix nlm_stat_to_errno() by swapping the return values for NLM_LCK_DENIED and NLM_LCK_DENIED_NOLOCKS/NLM_LCK_DENIED_GRACE_PERIOD. The problem is that there appears to be a similar confusion on the Linux server side in nlmsvc_lock(). :-( -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@netapp.com www.netapp.com --
| Artem Bityutskiy | [PATCH 10/44 take 2] [UBI] debug unit implementation |
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| Trent Piepho | [PATCH] [POWERPC] Improve (in|out)_beXX() asm code |
| Dave Young | Re: Linux v2.6.24-rc1 |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Linus Torvalds | Re: [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Natalie Protasevich | [BUG] New Kernel Bugs |
