From owner-freebsd-fs@FreeBSD.ORG Wed Jan 9 01:19:58 2013 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 765244D5 for ; Wed, 9 Jan 2013 01:19:58 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from esa-annu.net.uoguelph.ca (esa-annu.mail.uoguelph.ca [131.104.91.36]) by mx1.freebsd.org (Postfix) with ESMTP id 3A2EA91C for ; Wed, 9 Jan 2013 01:19:57 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap8EAEHF7FCDaFvO/2dsb2JhbAA9B4Y5s0qDcnOCJSMEUhsOGxkCBFUGiCqnQ4JAjSSMdIMOgRMDiGGGJ4cEkEmDEoFKIxs X-IronPort-AV: E=Sophos;i="4.84,433,1355115600"; d="scan'208";a="8115331" Received: from erie.cs.uoguelph.ca (HELO zcs3.mail.uoguelph.ca) ([131.104.91.206]) by esa-annu.net.uoguelph.ca with ESMTP; 08 Jan 2013 20:19:28 -0500 Received: from zcs3.mail.uoguelph.ca (localhost.localdomain [127.0.0.1]) by zcs3.mail.uoguelph.ca (Postfix) with ESMTP id D1458B3EB3; Tue, 8 Jan 2013 20:19:28 -0500 (EST) Date: Tue, 8 Jan 2013 20:19:28 -0500 (EST) From: Rick Macklem To: Jason Keltz Message-ID: <2094136156.1801692.1357694368838.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <1855706034.1801685.1357694364311.JavaMail.root@erie.cs.uoguelph.ca> Subject: Re: Problems Re-Starting mountd MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_1801691_315852099.1357694368836" X-Originating-IP: [172.17.91.202] X-Mailer: Zimbra 6.0.10_GA_2692 (ZimbraWebClient - FF3.0 (Win)/6.0.10_GA_2692) Cc: FreeBSD Filesystems X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 01:19:58 -0000 ------=_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 - 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--