diff options
author | Érico Rolim <[email protected]> | 2020-11-10 11:22:27 -0300 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2020-11-17 12:19:33 -0800 |
commit | c4a5e3b90fc98890e58cd93c0eea1b27484648d1 (patch) | |
tree | edff7ef159b0a1beb3d861797332d63dce6b75ac /contrib | |
parent | d02fc15ba1739903afe273c4c1ce064954050652 (diff) |
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 <[email protected]>
Reviewed-by: Georgy Yakovlev <[email protected]>
Reviewed-by: Andrew J. Hesford <[email protected]>
Signed-off-by: Érico Rolim <[email protected]>
Closes #11174
Closes #11189
Diffstat (limited to 'contrib')
0 files changed, 0 insertions, 0 deletions