On Linux system it is possible to set 64 character length hostname when
HOST_NAME_MAX is set to 64. It means that if we execute gethostname
function we should expect HOST_NAME_MAX characters + 1 for null
character ending hostname string as described here:
http://man7.org/linux/man-pages/man2/sethostname.2.html
With the current code on host with 64 long hostname osd during start
updates crush map with host=unknown_host.
Signed-off-by: Michal Skalski <mskalski@juniper.net>
(cherry picked from commit
5201048bbb16d6b4833585b9998c9d0364aaeac4)
// start with a sane default
char hostname[HOST_NAME_MAX + 1];
- int r = gethostname(hostname, sizeof(hostname)-1);
+ int r = gethostname(hostname, sizeof(hostname));
if (r < 0)
strcpy(hostname, "unknown_host");
// use short hostname