)]}'
{
  "commit": "cf3984fc169ad6885806fe0ee89783c788764afe",
  "tree": "e33715e3e06b48af01b107c823f1f4146f5208ca",
  "parents": [
    "785ac42045cbc1738c33aa1339eb2965ff978e3a"
  ],
  "author": {
    "name": "Guangzong Chen",
    "email": "guangzong@google.com",
    "time": "Fri Sep 11 17:53:56 2026 +0000"
  },
  "committer": {
    "name": "Guangzong Chen",
    "email": "guangzong@google.com",
    "time": "Mon Sep 21 14:57:44 2026 -0700"
  },
  "message": "nvmed: do not register FeatureStore on identify failure\n\nWhen a drive is absent or fails to respond to Identify Controller\nduring FeatureStore initialization, do not attempt to discover\nfeatures or register the FeatureStore D-Bus interface.\n\nPreviously, if Identify Controller failed, oncs remained 0, which\ncaused oncsBit4 to evaluate to false. In discoverFeatures, the !oncsBit4\nfallback path unconditionally populated all default features into\nfeatureCollection and exposed xyz.openbmc_project.NVMe.FeatureStore on\nD-Bus. Redfish clients querying feature endpoints on absent slots then\nexperienced D-Bus call failures mapped to HTTP 500 Internal Error.\n\nWith this change, fetchIdentifyData returns false on error, skipping\ndiscoverFeatures and D-Bus interface registration, and resets the\nfeatureStore pointer in controller, subsystem, and volume classes.\n\nTested: Ran unit tests.\nGoogle-Bug-Id: 555312695\nChange-Id: I6e4e93184269fc95a5faccb42d5da5f73ed9abff\nSigned-off-by: Guangzong Chen \u003cguangzong@google.com\u003e\nTAG\u003dagy\nCONV\u003db4ce846a-32f5-46f9-8f8e-b66c6d95ea2b\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3b099ec41d9edfcfde29742795efb5d18e216df2",
      "old_mode": 33188,
      "old_path": "src/NVMeController.cpp",
      "new_id": "d7fe044f25abe3d94dbcc034932202d68f83afef",
      "new_mode": 33188,
      "new_path": "src/NVMeController.cpp"
    },
    {
      "type": "modify",
      "old_id": "672bdd32cbbb31434dad745a1ee715c2b11bf2d1",
      "old_mode": 33188,
      "old_path": "src/NVMeFeatureStore.cpp",
      "new_id": "1980adac90a49c3290f7d441bbffe64a8e5c1315",
      "new_mode": 33188,
      "new_path": "src/NVMeFeatureStore.cpp"
    },
    {
      "type": "modify",
      "old_id": "3068696d19997919247bcd2d4b48407202fa6214",
      "old_mode": 33188,
      "old_path": "src/NVMeFeatureStore.hpp",
      "new_id": "90c6a3cf41b25c6a6cae128e46da18d413757735",
      "new_mode": 33188,
      "new_path": "src/NVMeFeatureStore.hpp"
    },
    {
      "type": "modify",
      "old_id": "b0e10e9cfd486e26448470dcd3da444c61ea6f0a",
      "old_mode": 33188,
      "old_path": "src/NVMeSubsys.cpp",
      "new_id": "2f021b60dcdd0655b7d9c3e9c40637b8ff2df44f",
      "new_mode": 33188,
      "new_path": "src/NVMeSubsys.cpp"
    },
    {
      "type": "modify",
      "old_id": "6e67ee2b92642c5140dc47e9f0b0a1afd5043885",
      "old_mode": 33188,
      "old_path": "src/NVMeVolume.cpp",
      "new_id": "0e078dc50c798a6c814dbccff60f07b384aee337",
      "new_mode": 33188,
      "new_path": "src/NVMeVolume.cpp"
    },
    {
      "type": "modify",
      "old_id": "467924a35aa0f3572e53ac8885ef7bd8469009ca",
      "old_mode": 33188,
      "old_path": "tests/test_nvme_feature_store.cpp",
      "new_id": "9a16224d04dceccbc7836340bfa2d9a79783583b",
      "new_mode": 33188,
      "new_path": "tests/test_nvme_feature_store.cpp"
    }
  ]
}
