Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Apr 2011 09:06:32 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Doug Barton <dougb@FreeBSD.org>
Cc:        rc@freebsd.org
Subject:   Re: rc scripts change for review
Message-ID:  <1806099866.487931.1303650392740.JavaMail.root@erie.cs.uoguelph.ca>
In-Reply-To: <4DB3AA8C.7090003@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
------=_Part_487930_2075527041.1303650392737
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit



----- Original Message -----
> On 04/23/2011 15:40, Rick Macklem wrote:
> >>
> >>> One thing I am not sure about is the REQUIRE: list in mountd.
> >>> nfsserver and nfssrv essentially load the respective module. They
> >>> are only
> >>> used if sysctl variables need to be set and that's actually done
> >>> by
> >>> nfsd.
> >>> (Should they be listed in mountd or nfsd or ???)
> >>
> >> It's not a good idea to add single scripts that only have a tiny
> >> function, especially if they are only called conditionally (I.e.,
> >> they
> >> contain KEYWORD: nostart). It's preferred to handle these things
> >> things
> >> in the script that needs them, or if it's necessary in more than
> >> one
> >> script to add a function to the appropriate .subr (rc, or network).
> >>
> >> So can you say a little more about what you're trying to
> >> accomplish?
> >> It's not clear to me why instead of doing this:
> >>
> >> + if ! sysctl vfs.newnfs>/dev/null 2>&1; then
> >> + force_depend nfssrv || return 1
> >> + fi
> >>
> >> you would not just do this:
> >>
> >> + if ! sysctl vfs.newnfs>/dev/null 2>&1; then
> >> + load_kld nfsd
> >> + fi
> >>
My mistake was that the kernel I was using already had
the client linked in, so:
  sysctl vfs.newnfs
wasn't failing and then
  load_kld nfsd
wasn't happenning.

> 
> The load_kld module is safe to run unconditionally (it will simply
> return if the module is loaded). So what you could do (for both cases)
> is something like this:
> 
> load_kld nfsd
> while ! sysctl vfs.newnfs >/dev/null 2>&1; do
> sleep .5
> done
> 
> If that works, I think we should add that feature to load_kld itself.
> 
I now just do the
load_kld nfsd
unconditionally and it works fine. (Although vfs.newnfs was there,
vfs.newnfs.nfs_privport isn't until "nfsd" is loaded. I could make
it conditional on that, but I don't see a need, since load_kld works
when it is already loaded.)

I've updated the scripts at:
  http://people.freebsd.org/~rmacklem/rc.conf
and attached them again, so...

could you please take another look at them.

Thanks, rick

------=_Part_487930_2075527041.1303650392737
Content-Type: text/x-patch; name=nfsd.diff
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=nfsd.diff

LS0tIG5mc2Qub3JpZwkyMDExLTA0LTIwIDE4OjQ5OjA4LjAwMDAwMDAwMCAtMDQwMAorKysgbmZz
ZAkyMDExLTA0LTI0IDA3OjUyOjIwLjAwMDAwMDAwMCAtMDQwMApAQCAtMTksMTkgKzE5LDggQEAg
c2lnX3N0b3A9IlVTUjEiCiAKIG5mc2RfcHJlY21kKCkKIHsKLQlpZiBjaGVja3llc25vIG5mc3Y0
X3NlcnZlcl9lbmFibGU7IHRoZW4KLQkJIyBJZiBuZnN2NF9zZXJ2ZXJfZW5hYmxlIGlzIHllcywg
Zm9yY2UgdXNlCi0JCSMgb2YgdGhlIGV4cGVyaW1lbnRhbCBzZXJ2ZXIKLQkJIwotCQlyY19mbGFn
cz0iLWUgJHtuZnNfc2VydmVyX2ZsYWdzfSIKLQotCQlpZiAhIGNoZWNreWVzbm8gbmZzdXNlcmRf
ZW5hYmxlICAmJiBcCi0JCSAgICAhIC9ldGMvcmMuZC9uZnN1c2VyZCBmb3JjZXN0YXR1cyAxPi9k
ZXYvbnVsbCAyPiYxCi0JCXRoZW4KLQkJCWZvcmNlX2RlcGVuZCBuZnN1c2VyZCB8fCByZXR1cm4g
MQotCQlmaQotCWVsc2UKLQkJcmNfZmxhZ3M9IiR7bmZzX3NlcnZlcl9mbGFnc30iCisJaWYgY2hl
Y2t5ZXNubyBvbGRuZnNfc2VydmVyX2VuYWJsZTsgdGhlbgorCQlyY19mbGFncz0iLW8gJHtuZnNf
c2VydmVyX2ZsYWdzfSIKIAogCQlpZiAhIHN5c2N0bCB2ZnMubmZzcnYgPi9kZXYvbnVsbCAyPiYx
OyB0aGVuCiAJCQlmb3JjZV9kZXBlbmQgbmZzc2VydmVyIHx8IHJldHVybiAxCkBAIC00MSw2ICsz
MCwzMCBAQCBuZnNkX3ByZWNtZCgpCiAJCQllY2hvICdORlMgb24gcmVzZXJ2ZWQgcG9ydCBvbmx5
PVlFUycKIAkJCXN5c2N0bCB2ZnMubmZzcnYubmZzX3ByaXZwb3J0PTEgPiAvZGV2L251bGwKIAkJ
ZmkKKwllbHNlCisJCXJjX2ZsYWdzPSIke25mc19zZXJ2ZXJfZmxhZ3N9IgorCisJCSMgTG9hZCB0
aGUgbW9kdWxlcyBub3csIHNvIHRoYXQgdGhlIHZmcy5uZXduZnMgc3lzY3RsCisJCSMgb2lkcyBh
cmUgYXZhaWxhYmxlLgorCQlsb2FkX2tsZCBuZnNkCisKKwkJaWYgY2hlY2t5ZXNubyBuZnNfcmVz
ZXJ2ZWRfcG9ydF9vbmx5OyB0aGVuCisJCQllY2hvICdORlMgb24gcmVzZXJ2ZWQgcG9ydCBvbmx5
PVlFUycKKwkJCXN5c2N0bCB2ZnMubmV3bmZzLm5mc19wcml2cG9ydD0xID4gL2Rldi9udWxsCisJ
CWZpCisKKwkJaWYgY2hlY2t5ZXNubyBuZnN2NF9zZXJ2ZXJfZW5hYmxlOyB0aGVuCisJCQlpZiAh
IGNoZWNreWVzbm8gbmZzdXNlcmRfZW5hYmxlICAmJiBcCisJCQkgICAgISAvZXRjL3JjLmQvbmZz
dXNlcmQgZm9yY2VzdGF0dXMgMT4vZGV2L251bGwgMj4mMQorCQkJdGhlbgorCQkJCWlmICEgZm9y
Y2VfZGVwZW5kIG5mc3VzZXJkOyB0aGVuCisJCQkJCWVyciAxICJDYW5ub3QgcnVuIG5mc3VzZXJk
IgorCQkJCWZpCisJCQlmaQorCQllbHNlCisJCQllY2hvICdORlN2NCBpcyBkaXNhYmxlZCcKKwkJ
CXN5c2N0bCB2ZnMubmV3bmZzLnNlcnZlcl9tYXhfbmZzdmVycz0zID4gL2Rldi9udWxsCisJCWZp
CiAJZmkKIAogCWlmICEgY2hlY2t5ZXNubyBycGNiaW5kX2VuYWJsZSAgJiYgXAo=
------=_Part_487930_2075527041.1303650392737
Content-Type: text/x-patch; name=mountd.diff
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=mountd.diff

LS0tIG1vdW50ZC5vcmlnCTIwMTEtMDQtMjAgMTg6NDk6MDIuMDAwMDAwMDAwIC0wNDAwCisrKyBt
b3VudGQJMjAxMS0wNC0yNCAwNzozMzoxNS4wMDAwMDAwMDAgLTA0MDAKQEAgLTM3LDExICszNywx
MCBAQCBtb3VudGRfcHJlY21kKCkKIAkJZmkKIAlmaQogCi0JIyBJZiBuZnN2NF9zZXJ2ZXJfZW5h
YmxlIGlzIHllcywgZm9yY2UgdXNlIG9mIHRoZSBleHBlcmltZW50YWwKLQkjIHNlcnZlcgorCSMg
SWYgb2xkbmZzX3NlcnZlcl9lbmFibGUgaXMgeWVzLCBmb3JjZSB1c2Ugb2YgdGhlIG9sZCBORlMg
c2VydmVyCiAJIwotCWlmIGNoZWNreWVzbm8gbmZzdjRfc2VydmVyX2VuYWJsZTsgdGhlbgotCQly
Y19mbGFncz0iLWUgJHtyY19mbGFnc30iCisJaWYgY2hlY2t5ZXNubyBvbGRuZnNfc2VydmVyX2Vu
YWJsZTsgdGhlbgorCQlyY19mbGFncz0iLW8gJHtyY19mbGFnc30iCiAJZmkKIAogCWlmIGNoZWNr
eWVzbm8gemZzX2VuYWJsZTsgdGhlbgo=
------=_Part_487930_2075527041.1303650392737--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1806099866.487931.1303650392740.JavaMail.root>