Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Jan 2013 20:19:28 -0500 (EST)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Jason Keltz <jas@cse.yorku.ca>
Cc:        FreeBSD Filesystems <freebsd-fs@freebsd.org>
Subject:   Re: Problems Re-Starting mountd
Message-ID:  <2094136156.1801692.1357694368838.JavaMail.root@erie.cs.uoguelph.ca>
In-Reply-To: <1855706034.1801685.1357694364311.JavaMail.root@erie.cs.uoguelph.ca>

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

You could test the attached patch, which I think makes mountd
load new export entries from a file called /etc/exports.new
without deleting the exports already in place, when sent a
USR1 signal.

After applying the patch to mountd.c, rebuilding and replacing
it, you would:
- put new entries for file systems not yet exported in both
  /etc/exports and /etc/exports.new
# kill -USR1 <mountd's pid>
- delete /etc/exports.new
Don't send HUP to mountd for this case.

Very lightly tested, rick
ps: Sometimes it's faster to just code this stuff instead of
    discussing if/how it can be done;-)
pss: This patch isn't ready for head. If it is useful, it might
    make sense to add a new mountd option that specifies the
    name of the file (/etc/exports.new or ...), so that this
    capability isn't enabled by default.

------=_Part_1801691_315852099.1357694368836
Content-Type: text/x-patch; name=newexports.patch
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=newexports.patch

LS0tIHVzci5zYmluL21vdW50ZC9tb3VudGQuYy5zYXZuZXcJMjAxMy0wMS0wOCAxOTozMjo0Ni4w
MDAwMDAwMDAgLTA1MDAKKysrIHVzci5zYmluL21vdW50ZC9tb3VudGQuYwkyMDEzLTAxLTA4IDE5
OjU0OjUxLjAwMDAwMDAwMCAtMDUwMApAQCAtMTkwLDYgKzE5MCw3IEBAIHZvaWQJZnJlZV9leHAo
c3RydWN0IGV4cG9ydGxpc3QgKik7CiB2b2lkCWZyZWVfZ3JwKHN0cnVjdCBncm91cGxpc3QgKik7
CiB2b2lkCWZyZWVfaG9zdChzdHJ1Y3QgaG9zdGxpc3QgKik7CiB2b2lkCWdldF9leHBvcnRsaXN0
KHZvaWQpOwordm9pZAlnZXRfbmV3X2V4cG9ydGxpc3Qodm9pZCk7CiBpbnQJZ2V0X2hvc3QoY2hh
ciAqLCBzdHJ1Y3QgZ3JvdXBsaXN0ICosIHN0cnVjdCBncm91cGxpc3QgKik7CiBzdHJ1Y3QgaG9z
dGxpc3QgKmdldF9odCh2b2lkKTsKIGludAlnZXRfbGluZSh2b2lkKTsKQEAgLTIwMCw2ICsyMDEs
NyBAQCBzdHJ1Y3QgZ3JvdXBsaXN0ICpnZXRfZ3JwKHZvaWQpOwogdm9pZAloYW5nX2RpcnAoc3Ry
dWN0IGRpcmxpc3QgKiwgc3RydWN0IGdyb3VwbGlzdCAqLAogCQkJCXN0cnVjdCBleHBvcnRsaXN0
ICosIGludCk7CiB2b2lkCWh1cGhhbmRsZXIoaW50IHNpZyk7Cit2b2lkCXVzcjFoYW5kbGVyKGlu
dCBzaWcpOwogaW50CW1ha2VtYXNrKHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlICpzc3AsIGludCBi
aXRsZW4pOwogdm9pZAltbnRzcnYoc3RydWN0IHN2Y19yZXEgKiwgU1ZDWFBSVCAqKTsKIHZvaWQJ
bmV4dGZpZWxkKGNoYXIgKiosIGNoYXIgKiopOwpAQCAtMjI1LDYgKzIyNyw3IEBAIHN0cnVjdCBt
b3VudGxpc3QgKm1saGVhZDsKIHN0cnVjdCBncm91cGxpc3QgKmdycGhlYWQ7CiBjaGFyICpleG5h
bWVzX2RlZmF1bHRbMl0gPSB7IF9QQVRIX0VYUE9SVFMsIE5VTEwgfTsKIGNoYXIgKipleG5hbWVz
OworY2hhciAqbmV3X2V4bmFtZSA9ICIvZXRjL2V4cG9ydHMubmV3IjsKIGNoYXIgKipob3N0cyA9
IE5VTEw7CiBzdHJ1Y3QgeHVjcmVkIGRlZl9hbm9uID0gewogCVhVQ1JFRF9WRVJTSU9OLApAQCAt
MjM5LDYgKzI0Miw3IEBAIGludCBuaG9zdHMgPSAwOwogaW50IGRpcl9vbmx5ID0gMTsKIGludCBk
b2xvZyA9IDA7CiBpbnQgZ290X3NpZ2h1cCA9IDA7CitpbnQgZ290X3NpZ3VzcjEgPSAwOwogaW50
IHhjcmVhdGVkID0gMDsKIAogY2hhciAqc3ZjcG9ydF9zdHIgPSBOVUxMOwpAQCAtNDExLDYgKzQx
NSw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCQlzaWduYWwoU0lHUVVJVCwgU0lH
X0lHTik7CiAJfQogCXNpZ25hbChTSUdIVVAsIGh1cGhhbmRsZXIpOworCXNpZ25hbChTSUdVU1Ix
LCB1c3IxaGFuZGxlcik7CiAJc2lnbmFsKFNJR1RFUk0sIHRlcm1pbmF0ZSk7CiAJc2lnbmFsKFNJ
R1BJUEUsIFNJR19JR04pOwogCkBAIC01NzMsNiArNTc4LDEwIEBAIG1haW4oaW50IGFyZ2MsIGNo
YXIgKiphcmd2KQogCQkJZ2V0X2V4cG9ydGxpc3QoKTsKIAkJCWdvdF9zaWdodXAgPSAwOwogCQl9
CisJCWlmIChnb3Rfc2lndXNyMSkgeworCQkJZ2V0X25ld19leHBvcnRsaXN0KCk7CisJCQlnb3Rf
c2lndXNyMSA9IDA7CisJCX0KIAkJcmVhZGZkcyA9IHN2Y19mZHNldDsKIAkJc3dpdGNoIChzZWxl
Y3Qoc3ZjX21heGZkICsgMSwgJnJlYWRmZHMsIE5VTEwsIE5VTEwsIE5VTEwpKSB7CiAJCWNhc2Ug
LTE6CkBAIC05NTEsNiArOTYwLDcgQEAgbW50c3J2KHN0cnVjdCBzdmNfcmVxICpycXN0cCwgU1ZD
WFBSVCAqdAogCiAJc2lnZW1wdHlzZXQoJnNpZ2h1cF9tYXNrKTsKIAlzaWdhZGRzZXQoJnNpZ2h1
cF9tYXNrLCBTSUdIVVApOworCXNpZ2FkZHNldCgmc2lnaHVwX21hc2ssIFNJR1VTUjEpOwogCXNh
ZGRyID0gc3ZjX2dldHJwY2NhbGxlcih0cmFuc3ApLT5idWY7CiAJc3dpdGNoIChzYWRkci0+c2Ff
ZmFtaWx5KSB7CiAJY2FzZSBBRl9JTkVUNjoKQEAgLTEyMjcsNiArMTIzNyw3IEBAIHhkcl9leHBs
aXN0X2NvbW1vbihYRFIgKnhkcnNwLCBjYWRkcl90IGMKIAogCXNpZ2VtcHR5c2V0KCZzaWdodXBf
bWFzayk7CiAJc2lnYWRkc2V0KCZzaWdodXBfbWFzaywgU0lHSFVQKTsKKwlzaWdhZGRzZXQoJnNp
Z2h1cF9tYXNrLCBTSUdVU1IxKTsKIAlzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZzaWdodXBfbWFz
aywgTlVMTCk7CiAJZXAgPSBleHBoZWFkOwogCXdoaWxlIChlcCkgewpAQCAtMTc5OSw2ICsxODEw
LDMyIEBAIGdldF9leHBvcnRsaXN0KHZvaWQpCiB9CiAKIC8qCisgKiBHZXQgdGhlIGV4cG9ydCBs
aXN0IGZvciBhbGwgbmV3IGVudHJpZXMuCisgKi8KK3ZvaWQKK2dldF9uZXdfZXhwb3J0bGlzdCh2
b2lkKQoreworCisJaWYgKHN1c3BlbmRfbmZzZCAhPSAwKQorCQkodm9pZCluZnNzdmMoTkZTU1ZD
X1NVU1BFTkRORlNELCBOVUxMKTsKKworCS8qCisJICogUmVhZCBpbiB0aGUgbmV3IGV4cG9ydHMg
ZmlsZSBhbmQgYWRkIHRvIHRoZSBsaXN0LCBjYWxsaW5nCisJICogbm1vdW50KCkgYXMgd2UgZ28g
YWxvbmcgdG8gcHVzaCB0aGUgZXhwb3J0IHJ1bGVzIGludG8gdGhlIGtlcm5lbC4KKwkgKi8KKwlp
ZiAoZGVidWcpCisJCXdhcm54KCJyZWFkaW5nIG5ldyBleHBvcnRzIGZyb20gJXMiLCBuZXdfZXhu
YW1lKTsKKwlpZiAoKGV4cF9maWxlID0gZm9wZW4obmV3X2V4bmFtZSwgInIiKSkgIT0gTlVMTCkg
eworCQlnZXRfZXhwb3J0bGlzdF9vbmUoKTsKKwkJZmNsb3NlKGV4cF9maWxlKTsKKwl9IGVsc2UK
KwkJc3lzbG9nKExPR19XQVJOSU5HLCAiY2FuJ3Qgb3BlbiAlcyIsIG5ld19leG5hbWUpOworCisJ
LyogUmVzdW1lIHRoZSBuZnNkLiBJZiB0aGV5IHdlcmVuJ3Qgc3VzcGVuZGVkLCB0aGlzIGlzIGhh
cm1sZXNzLiAqLworCSh2b2lkKW5mc3N2YyhORlNTVkNfUkVTVU1FTkZTRCwgTlVMTCk7Cit9CisK
Ky8qCiAgKiBBbGxvY2F0ZSBhbiBleHBvcnQgbGlzdCBlbGVtZW50CiAgKi8KIHN0cnVjdCBleHBv
cnRsaXN0ICoKQEAgLTMyMTIsNiArMzI0OSwxMiBAQCBodXBoYW5kbGVyKGludCBzaWcgX191bnVz
ZWQpCiAJZ290X3NpZ2h1cCA9IDE7CiB9CiAKK3ZvaWQKK3VzcjFoYW5kbGVyKGludCBzaWcgX191
bnVzZWQpCit7CisJZ290X3NpZ3VzcjEgPSAxOworfQorCiB2b2lkIHRlcm1pbmF0ZShpbnQgc2ln
IF9fdW51c2VkKQogewogCXBpZGZpbGVfcmVtb3ZlKHBmaCk7Cg==
------=_Part_1801691_315852099.1357694368836--



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