mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
zgenhostid: accept hostid arguments equal to zero.
A common usage pattern for zgenhostid, including in the ZFS dracut module, is running it as: zgenhostid $(hostid) However, zgenhostid only accepted hostid arguments greater than 0, which meant that, when the output of hostid(1) was "00000000", zgenhostid would error out, even though 0 is a possible return value for the gethostid(3) function used by hostid(1): - On current musl libc, gethostid(3) is a stub that always returns 0. - On glibc, gethostid(3) will return 0 if /etc/hostid exists but is smaller than 4 bytes. In these cases, it makes more sense for zgenhostid to treat a value of 0 as other parts of the zfs codebase do, meaning that a hostid value couldn't be determined; therefore, it should attempt to generate a random value to write into /etc/hostid. The manpage and usage output have been updated to reflect this. Whitespace has also been fixed in the usage output. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Georgy Yakovlev <gyakovlev@gentoo.org> Reviewed-by: Andrew J. Hesford <ajh@sideband.org> Signed-off-by: Érico Rolim <erico.erc@gmail.com> Closes #11174 Closes #11189
This commit is contained in:
committed by
Brian Behlendorf
parent
4352edaafb
commit
9c4b6dbb31
@@ -54,7 +54,8 @@ instead of default
|
||||
.It Ar hostid
|
||||
Specifies the value to be placed in
|
||||
.Pa /etc/hostid .
|
||||
It must be a number with a value between 1 and 2^32-1.
|
||||
It should be a number with a value between 1 and 2^32-1.
|
||||
If it is 0, zgenhostid will generate a random hostid.
|
||||
This value
|
||||
.Sy must
|
||||
be unique among your systems.
|
||||
|
||||
Reference in New Issue
Block a user