[Bug 1979342] Re: ata_id command provides wrong information for ATA devices

Martin Benicek 1979342 at bugs.launchpad.net
Thu Jun 23 06:44:58 UTC 2022


Hi Dan,
with this change we can align output between bionic and focal version (and Suse linux as well). Our customers are getting inconsistent output while using same command from different environment (bionic, focal, SuSe).
So if we apply the fix - output will be consistent between bionic, focal, Suse, but many users will have to fix their regressions. 
If we don't apply fix - users continue to use wrong output, but will not need to spend time to fix regression.

I think the reason not to fix, due to users which will be affected and
forced to do adaptation of their tests if not correct. We are not
dealing with new feature for bionic, but fixing existing feature.

sincerely
Martin

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1979342

Title:
  ata_id command provides wrong information for ATA devices

Status in systemd package in Ubuntu:
  Confirmed
Status in systemd source package in Bionic:
  Confirmed

Bug description:
  [DESCRIPTION]

  Original revisions of the SAT (SCSI-ATA Translation) specification
  required that all sense data be reported in Descriptor Format (72h).
  Later revisions specifcally allow and account for sense data being
  reported in Fixed Format (70h).
  The current code checks for a Descriptor Format sense structure (0x72),
  then looks specifically at the first byte of the first descriptor for the
  ATA specific code 0x9, cross referencing it with the first byte which is
  just a length field 0x0c (as a sanity check).

  The code did not account for the Fixed Format case (0x70).
  Upstream commit 402fecff19d42("ata_id: Add check for fixed format sense codes (#13654)")
  fixed this by checking for the Fixed Format case(0x70) adn then falling back to 
  using the top-level SCSI Sense data for the Additional Sense code (0x0) and 
  then the Additional Sense Code Qualifier (0x1d).

  [TEST CASE]

  To test this you need and ATA device.

  Without the patch id_ata command returns error code 2.

  With the patch it returns the correct information :

  root at machine:~# ./ata_id /dev/sdn -x
  ID_ATA=1
  ID_TYPE=disk
  ID_BUS=ata
  ID_MODEL=HGST_HUH728080ALE604
  ID_MODEL_ENC=HGST\x20HUH728080ALE604\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20
  ID_REVISION=A4GNW7J0
  ID_SERIAL=HGST_HUH728080ALE604_ZZZZH3VX
  ID_SERIAL_SHORT=ZZZZH3VX
  ...

  (see commit message for more details)

  
  [REGRESSION POTENTIAL]

  This commit changes disk_identify_command() function in src/udev/ata_id/ata_id.c
  and therefore any regression potential will affect only this executable (and any other
  that may use it).

  
  [OTHER]

  The fix is already in Focal.
  Currently only Bionic is affected.

  Upstream fix : 
  https://github.com/systemd/systemd/commit/402fecff19d42bb06caed1a3a32262c18087b7f1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1979342/+subscriptions




More information about the Ubuntu-sponsors mailing list