Date: Wed, 14 May 2003 18:12:09 -0400 (EDT) From: Robert Watson <rwatson@FreeBSD.org> To: Don Lewis <truckman@FreeBSD.org> Cc: current@FreeBSD.org Subject: Re: rpc.lockd spinning; much breakage Message-ID: <Pine.NEB.3.96L.1030514181016.12519A-100000@fledge.watson.org> In-Reply-To: <200305140545.h4E5jWM7052038@gw.catspoiler.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Per your suggestion, the attached changes do cause a non-blocking request
to now get "the right error" -- my only concern is whether or not this is
too sweeping a mapping of this error case. The spec lists LCK_DENIED as
"Indicates that the procedure failed because the request conflicted with
existing lock reservations for the file", but doesn't appear to offer an
error that denies the locked based on local configuration (security), etc.
Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
robert@fledge.watson.org Network Associates Laboratories
RCS file: /data/ncvs/src/usr.sbin/rpc.lockd/kern.c,v
retrieving revision 1.11
diff -u -r1.11 kern.c
--- kern.c 15 Aug 2002 21:52:21 -0000 1.11
+++ kern.c 14 May 2003 22:00:41 -0000
@@ -487,7 +487,7 @@
break;
case nlm4_denied:
if (pid_p == NULL)
- ans.la_errno = EACCES;
+ ans.la_errno = EAGAIN;
else {
/* this is an answer to a nlm_test msg */
ans.la_set_getlk_pid = 1;
@@ -530,7 +530,7 @@
break;
case nlm_denied:
if (pid_p == NULL)
- ans.la_errno = EACCES;
+ ans.la_errno = EAGAIN;
else {
/* this is an answer to a nlm_test msg */
ans.la_set_getlk_pid = 1;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1030514181016.12519A-100000>
