X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils%2Fstatd%2Fmonitor.c;h=27c409f97abaf473a148107cf1fa49d89722e10d;hb=3d81b436c6114a8b73cc6f4608a37163e8a9ff9d;hp=5a782dcccc18a7046b39ba0bac7f4959964ed5ed;hpb=8b7ad01b14df1e7529b9ba8a1ea17df0d6004ef9;p=nfs-utils.git diff --git a/utils/statd/monitor.c b/utils/statd/monitor.c index 5a782dc..27c409f 100644 --- a/utils/statd/monitor.c +++ b/utils/statd/monitor.c @@ -67,13 +67,19 @@ sm_mon_1_svc(struct mon *argp, struct svc_req *rqstp) my_name = "127.0.0.1"; /* 2. Reject any registrations for non-lockd services. + * * This is specific to the linux kernel lockd, which * makes the callback procedure part of the lockd interface. + * It is also prone to break when lockd changes its callback + * procedure number -- which, in fact, has now happened once. + * There must be a better way.... XXX FIXME */ - if (id->my_proc != 100021) { + if (id->my_prog != 100021 || + (id->my_proc != 16 && id->my_proc != 24)) + { log(L_WARNING, - "Attempt to register callback to service %d", - id->my_proc); + "Attempt to register callback to %d/%d", + id->my_prog, id->my_proc); goto failure; }