savecore: fix space calculation with respect to `minfree` in check_space(..)
authorngie <ngie@FreeBSD.org>
Fri, 14 Apr 2017 19:41:48 +0000 (19:41 +0000)
committerngie <ngie@FreeBSD.org>
Fri, 14 Apr 2017 19:41:48 +0000 (19:41 +0000)
commitc7c342ccf1f0a08e3650edc29c73289a5c45898c
tree92ea5f598ab41029f425d0ef9c01122423fbad1a
parent400490a9eda0d06187841732cfbc4e51cd9e9706
savecore: fix space calculation with respect to `minfree` in check_space(..)

- Use strtoll(3) instead of atoi(3), because atoi(3) limits the
  representable data to INT_MAX. Check the values received from
  strtoll(3), trimming trailing whitespace off the end to maintain
  POLA.
- Use `KiB` instead of `kB` when describing free space, total space,
  etc. I am now fully aware of `KiB` being the IEC standard for 1024
  bytes and `kB` being the IEC standard for 1000 bytes.
- Store available number of KiB in `available` so it can be more
  easily queried and compared to ensure that there are enough KiB to
  store the dump image on disk.
- Print out the reserved space on disk, per `minfree`, so end-users
  can troubleshoot why check_space(..) is reporting that there isn't
  enough free space.

MFC after: 7 weeks
Reviewed by: Anton Rang <rang@acm.com> (earlier diff), cem (earlier diff)
Tested with: positive/negative cases (see review); make tinderbox
Sponsored by: Dell EMC Isilon
Differential Revision: D10379
sbin/savecore/savecore.c