Package: smartmontools
Version: 7.2-1
Severity: normal
Tags: upstream

Dear Maintainer,

after upgrading to Debian/bullseye I had to adapt/revert
`/etc/smartd.conf`. For Debian/buster I had added a local modification
to monitor my NVMe device.

While reviewing the config file I learned that smartmontools/smartd is
built with `--with-nvme-devicescan` (on Linux and Windows) since v7.0:

  https://github.com/smartmontools/smartmontools/releases/tag/RELEASE_7_0

So NVMe devices should work out-of-the-box.

But I think the man page does not reflect that or is at least a bit
confusing on that.

Quoting smartd.conf(5):

,----
|   In the absence of a configuration file smartd will try to open all
|   available devices (see smartd(8) man page).  A configuration file with
|   a single line 'DEVICESCAN -a' would have the same effect.
`----

So far so good, but quoting smartd(8):

,----
|   On startup, in the absence of the configuration file
|   /etc/smartd.conf, the smartd daemon first scans for all devices that
|   support SMART.  The scanning is done as follows:
|
|   LINUX:   Examine  all entries "/dev/hd[a-t]" for IDE/ATA devices,
|            and "/dev/sd[a-z]", "/dev/sd[a-c][a-z]" for ATA/SATA or SCSI/SAS
|            devices.  Disks behind RAID controllers are not included.
|
|            If directive '-d nvme' or no '-d' directive is specified,
|            examine all entries "/dev/nvme[0-99]" for NVMe devices.
`----

The default `/etc/smartd.conf` looks like this:

  ❯ grep "^DEVICESCAN" /etc/smartd.conf
  DEVICESCAN -d removable -n standby -m root -M exec 
/usr/share/smartmontools/smartd-runner

So the directive `-d removable` is given, which makes the statement
above confusing. What about rephrasing the "LINUX" part to:

,----
|    LINUX:   Examine  all entries "/dev/hd[a-t]" for IDE/ATA devices,
|             "/dev/sd[a-z]", "/dev/sd[a-c][a-z]" for ATA/SATA or SCSI/SAS
|             devices, and "/dev/nvme[0-99]" for NVMe devices.  Disks
|             behind RAID controllers are not included.
`----

And later in smartd.conf(5):

,----
|   -a     Equivalent to turning on all of the following Directives:
|          '-H' to check the SMART health status, '-f' to report failures of
|          Usage (rather than Prefail) Attributes, '-t' to track changes in
|          both Prefailure and Usage Attributes, '-l error' to report increases
|          in the number of ATA errors, '-l selftest' to report increases in
|          the number of Self-
|          Test  Log  errors, '-l selfteststs' to report changes of
|          Self-Test execution status, '-C 197' to report nonzero values
|          of the current pending sector count, and '-U 198' to report
|          nonzero values of the offline pending sector count.
|
|          Note that -a is the default for ATA devices.  If none of
|          these other Directives is given, then -a is assumed.
`----

As none of the Directives above are set in the default DEVICESCAN
line, I assume "-a" kicks in which is "default for ATA devices".
But what about NVMe devices, is -a assumed there too?

As you can clearly see, I have not much knowledge about the internals
of smartmontools/smartd, so please bear with me and lets try to phrase
the documentation as clear as possible.

Thank you very much.

Best,
 - Darsha

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-security
  APT policy: (500, 'testing-security'), (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-6-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages smartmontools depends on:
ii  debianutils  4.11.2
ii  libc6        2.31-11
ii  libcap-ng0   0.7.9-2.2+b1
ii  libgcc-s1    10.2.1-6
ii  libselinux1  3.1-3
ii  libstdc++6   10.2.1-6
ii  libsystemd0  247.3-3
ii  lsb-base     11.1.0

smartmontools recommends no packages.

Versions of packages smartmontools suggests:
ii  bsd-mailx [mailx]  8.1.2-0.20180807cvs-2
ii  curl               7.74.0-1.2
ii  gpg                2.2.27-1
pn  gsmartcontrol      <none>
pn  smart-notifier     <none>
ii  wget               1.21-1+b1

-- no debconf information

Reply via email to