mirror of
https://github.com/facebook/sapling.git
synced 2024-10-05 14:28:17 +03:00
only register valid ports with portmapper
Summary: UDS don't have port numbers, so trying to register their port with the portmapper is going to fail. This can cause eden to fail to start when we enable uds. The current portmapper version we use can't support this, so let's just skip attempting to register uds servers with the portmapper. Reviewed By: xavierd Differential Revision: D45196379 fbshipit-source-id: 584e6e04129d1ddbcc756ed66c55a03c3955705a
This commit is contained in:
parent
6bd256c869
commit
b25fc2af3a
@ -2109,10 +2109,15 @@ folly::Future<NfsServer::NfsMountInfo> makeNfsChannel(
|
|||||||
kNfsdSocketName;
|
kNfsdSocketName;
|
||||||
}
|
}
|
||||||
channel->initialize(makeNfsSocket(std::move(unixSocketPath)), false);
|
channel->initialize(makeNfsSocket(std::move(unixSocketPath)), false);
|
||||||
|
// we can't register uds sockets with our portmapper (portmapper v2
|
||||||
|
// does not support those).
|
||||||
|
auto addr = channel->getAddr();
|
||||||
|
if (addr.isFamilyInet()) {
|
||||||
nfsServer->recordPortNumber(
|
nfsServer->recordPortNumber(
|
||||||
channel->getProgramNumber(),
|
channel->getProgramNumber(),
|
||||||
channel->getProgramVersion(),
|
channel->getProgramVersion(),
|
||||||
channel->getAddr().getPort());
|
addr.getPort());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return NfsServer::NfsMountInfo{
|
return NfsServer::NfsMountInfo{
|
||||||
std::move(channel), std::move(mountdAddr)};
|
std::move(channel), std::move(mountdAddr)};
|
||||||
|
@ -37,10 +37,15 @@ void NfsServer::initialize(
|
|||||||
if (rpcbindd_) {
|
if (rpcbindd_) {
|
||||||
rpcbindd_->initialize();
|
rpcbindd_->initialize();
|
||||||
}
|
}
|
||||||
|
auto registeredAddr = mountd_.getAddr();
|
||||||
|
// we can't register uds sockets with our portmapper (portmapper v2
|
||||||
|
// does not support those).
|
||||||
|
if (registeredAddr.isFamilyInet()) {
|
||||||
recordPortNumber(
|
recordPortNumber(
|
||||||
mountd_.getProgramNumber(),
|
mountd_.getProgramNumber(),
|
||||||
mountd_.getProgramVersion(),
|
mountd_.getProgramVersion(),
|
||||||
mountd_.getAddr().getPort());
|
registeredAddr.getPort());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NfsServer::initialize(folly::File&& socket) {
|
void NfsServer::initialize(folly::File&& socket) {
|
||||||
|
Loading…
Reference in New Issue
Block a user