)]}'
{"id":"openstack%2Fcyborg~1003255","triplet_id":"openstack%2Fcyborg~master~I491654bfc75cfbe2043edb1ff4359368a0967237","project":"openstack/cyborg","branch":"master","topic":"bp/generic-nvme-driver-with-secure-cleanup","attention_set":{"12393":{"account":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"last_update":"2026-09-04 06:10:25.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I491654bfc75cfbe2043edb1ff4359368a0967237","subject":"pci-sim: add software MSI-X domain to fake host bridge","status":"NEW","created":"2026-09-01 11:19:57.000000000","updated":"2026-09-09 16:36:52.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":15,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"0aab0169e8e37067d4bf41a33fd516b1c5db6d06","_number":1003255,"virtual_id_number":1003255,"owner":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-09 16:36:52.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-01 11:21:06.000000000","updated_by":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"reviewer":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"state":"CC"},{"updated":"2026-09-01 12:34:29.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"66af81b7a49cb539bb0f293c7c7f39b6b48c6880","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-09-01 11:19:57.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ccc12fcdd3d1c84b749a12ffddf33ba632b28634","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-01 11:21:06.000000000","message":"Patch Set 1:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":1},{"id":"039ed5827d2e61b0649dd66fd2c0065a7a04eae6","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-09-01 12:05:11.000000000","message":"Topic set to bp/generic-nvme-driver-with-secure-cleanup","accounts_in_message":[],"_revision_number":1},{"id":"b5a09b6900ccf6fa2988876d14cf292c0a8236e4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-01 12:34:29.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/06cda1b1db844339a6ca1f5701c0665d\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/fc34770540534e8086f12db0d0974802 : SUCCESS in 6m 29s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6723dd69f9a248ee808cc936c3c494df : SUCCESS in 6m 01s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9c19141d6ba7456aacf432c8fe01a4c1 : SUCCESS in 9m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0b04645011d24fb18217364a14e45c80 : SUCCESS in 4m 39s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e48bb0111786463b983484fa2356cff4 : SUCCESS in 4m 04s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/5a1e00030a6c45b4b563390cd97c45e8 : SUCCESS in 2m 57s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/29efcb44a8f84e56b508177ca92793ae : SUCCESS in 7m 00s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/0cc7a4f3d7654cdfa234ec6c3cdd58a7 : SUCCESS in 4m 28s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/8012261fef7049ed9be79965330edb61 : SUCCESS in 53m 30s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/74262d7983fb44eb8a49ee4279d0d55f : SUCCESS in 47m 01s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/9ef6a9fdcfb24aee9fdb07ace6434f6a : SUCCESS in 57m 35s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/f976d7e2381e4e7486f6ed38c215e383 : SUCCESS in 25m 38s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/70b77f8b3311406ba22cbed11ae1751f : SUCCESS in 56m 13s","accounts_in_message":[],"_revision_number":1},{"id":"39a49458f80b1dc29253442da9fa12c0c4d9d30b","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-01 12:48:53.000000000","message":"Patch Set 1:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/96e495a0cd0545439a3a737f301cb046\n\n- teim-code-review https://zuul.teim.app/t/main/build/bf6342f59f03425a873ef6547b2f889a : SUCCESS in 12m 18s","accounts_in_message":[],"_revision_number":1},{"id":"86902eb1a0ef104a8c41c5e9bfaee0a9d2767f0a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-09-03 16:52:54.000000000","message":"Patch Set 2: Patch Set 1 was rebased\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"14cf93b613a149d2226f3065f0012590d94ec715","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-03 16:53:15.000000000","message":"Patch Set 2:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":2},{"id":"a7ebb27bb263436004f25b13f9392914a5bb290f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-03 18:20:04.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/07242c375a7345669389fd57779a95b5\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/fdf369f4743a427db55c8008091e9970 : SUCCESS in 4m 37s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3c21bf4caf9649f7baa95aab1ab650da : SUCCESS in 5m 12s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3aa71f3e319740b28e96c5b912f942a4 : SUCCESS in 8m 29s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7958f8b0716543b4b66ab8a6a1660b2c : SUCCESS in 6m 55s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/7b31230dbd89499aa9c0b8d1e60c898c : SUCCESS in 4m 06s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d11c56a228154b3fb3c8c76308102d23 : SUCCESS in 4m 53s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e1605d1fab004b6c872df4bcc149bd0e : SUCCESS in 7m 06s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/fbdde304e93f4570a1adfa53ed89bc86 : SUCCESS in 4m 31s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/f1f95b2cff354a1485ac33ab2d0a173e : SUCCESS in 54m 40s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/de32b454a60541d8b2d1db75064d80aa : SUCCESS in 47m 45s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/c0bd71e6d9b84fda9c923ac0fa8b89aa : SUCCESS in 1h 10m 48s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/a23fd8a677b8449497f56a60b5a67763 : SUCCESS in 56m 33s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/f8aa34b8766943cf8913d8a8684e7654 : SUCCESS in 42m 48s","accounts_in_message":[],"_revision_number":2},{"id":"2c8abd0020a494e139426769dc835314314bcc67","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-03 19:15:36.000000000","message":"Patch Set 2:\n\n(2 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/d01b52afbfca45a98c50d11f4db97e61\n\n- teim-code-review https://zuul.teim.app/t/main/build/5528ce7c1c944fafb3ad1cb2418d49d2 : SUCCESS in 11m 19s\n\nWarning:\n  The commit message bullet states this change adds to test_pci_sim_nvme_host.sh a \u0027Phase 2 test section covering stock nvme driver binding, MSI-X vector allocation (msi_irqs/ populated), nvme list, id-ctrl via stock driver, filesystem operations (parted, mkfs.ext4, mount, write+read, blkid), and VFIO rebind cycle\u0027. In the actual commit the script diff is only the 12-line replacement of the char-device false-positive check; the Phase 2 fio/mkfs/rebind section already existed in base 5387af0, and no msi_irqs/ sysfs check exists anywhere in the script at either base or head.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: The permanent change history claims MSI-X vector allocation is regression-tested when it is not; a future reader or CI designer relying on the message would wrongly assume an msi_irqs/ population check guards this feature, and the misattribution makes the patchset harder to review accurately.\n\n**Suggestion**:\nReword the test_pci_sim_nvme_host.sh bullet to describe only the false-positive fix, e.g. \u0027test_pci_sim_nvme_host.sh: replace the /dev/nvmeN char-device Phase 2 check (which false-positived on stock nvme controller devices) with a check that pci_sim_nvme_host is not bound to any VF\u0027. If msi_irqs/ verification is intended, add the actual check (ls /sys/bus/pci/devices/$VF/msi_irqs/ must be non-empty) to the script in this change.","accounts_in_message":[],"_revision_number":2},{"id":"67f629d25663e7962e16fcea6304375b52f7c3bf","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-09-04 04:58:33.000000000","message":"Patch Set 3: Patch Set 2 was rebased\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"7feb1ceb3260ef6f683ca956e1767f237bf9317a","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-04 04:58:52.000000000","message":"Patch Set 3:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":3},{"id":"2067847ad270bbf71b8af1b3190d98353c287386","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-04 06:02:00.000000000","message":"Patch Set 3: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/f541f2e61ed34433a21069424f0ac3f9\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/89ba0d86d60a41a2b30eda18acc5fb1b : SUCCESS in 5m 10s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/971ecc24280d4ce9a9135bd34bf0cb9c : SUCCESS in 5m 43s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/db7c57a4b174471191efb6e855a49864 : SUCCESS in 7m 55s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/207d5f0206ea48c5b26d459bac7693b3 : SUCCESS in 4m 26s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/4227f9c6d2254dac910a6cf0a8abe1fb : SUCCESS in 3m 54s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/964324ea3a5d42048a92d28eef99c9b1 : SUCCESS in 5m 47s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/d211bbd2a00a4dcd99f3877f15e6e7a7 : SUCCESS in 8m 53s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/ada90bcc5b3a43019aaa27d66aa2b699 : SUCCESS in 4m 24s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/6d9a6b72da454c98ab0a620b883bb7c7 : FAILURE in 28m 33s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/841258e08f9449b8be689cd85f3b79d7 : SUCCESS in 43m 07s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/1f525bbd75324468a7da98caa40dc364 : SUCCESS in 25m 01s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/da88a5db2953499eaaad465dba070643 : SUCCESS in 57m 44s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/8970fc80c4f24b9699129e4ee7fcf9e2 : SUCCESS in 37m 08s","accounts_in_message":[],"_revision_number":3},{"id":"1f99da1b42307d4b01939806f3bb777d35082065","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-09-04 06:09:55.000000000","message":"Patch Set 4: Patch Set 3 was rebased\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"272fa2f76bd515ada5c01e54811695dcfe4d29d6","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-04 06:10:25.000000000","message":"Patch Set 4:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":4},{"id":"e4841b7242bdba1084a3b3da4ebee37ae94f6c1a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-04 07:20:30.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/497829d288df4fb4a7bcbaf04ca5f687\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/78ad000eb5014447a511af5fb7eea53c : SUCCESS in 3m 23s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2b325f06345b4e6790cc2ab4344ddf46 : SUCCESS in 7m 24s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2d3899e0b88b43a3a404986cdf314be1 : SUCCESS in 9m 25s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/28d50b0e1e1c461189f985c01462ddef : SUCCESS in 3m 00s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/c2fd501bd8f84fbb9a3e770d2a35f7f8 : SUCCESS in 4m 20s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/bbe8b8870af34ec4afa67c31ed5e9c57 : SUCCESS in 5m 18s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/f7b5413ac2e64857ba2803c044b18f66 : SUCCESS in 7m 40s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/51b00bfa6276408f9b5927b2a44ecb91 : SUCCESS in 4m 35s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/9f1751df04884b0a9363143ce090a95d : SUCCESS in 26m 24s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/a3abf4100f014461a3f8d144d01a763b : SUCCESS in 27m 18s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/dcffaaa152b2454992713608d54a10fb : SUCCESS in 1h 03m 29s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/f1b809041d60455fa27271d733a0484e : SUCCESS in 58m 47s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/12e37efb32df40e29e2e18a11043137b : SUCCESS in 55m 15s","accounts_in_message":[],"_revision_number":4},{"id":"d4a58eeb5655951ac2f4850363b18af19256dcb3","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-04 09:00:42.000000000","message":"Patch Set 4:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/d2aecb1a995443e89560c086c9e8ea6f\n\n- teim-code-review https://zuul.teim.app/t/main/build/a1d783b7d1c641ddac6744e72d806e90 : SUCCESS in 11m 36s","accounts_in_message":[],"_revision_number":4},{"id":"182858df946edca24be903428c9a6b4a6fedfd97","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-09-05 04:13:31.000000000","message":"Patch Set 5: Patch Set 4 was rebased\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"cf39756205f98eea18af82858abfed9a20af95c7","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-05 04:13:51.000000000","message":"Patch Set 5:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":5},{"id":"8e1242c33ef0287c5f6825d3858b9bf28a274848","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-05 05:14:40.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/979bc16f0b744a8caaa3394d220ee686\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/277d46cda068449ab15d96ad2d98e85f : SUCCESS in 5m 43s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d41d30965ee1463584f41444b66f8c45 : SUCCESS in 3m 47s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a48bb671e9294f519ffd654b0ef2be01 : SUCCESS in 12m 30s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/071ccaa8c782482796a1fe5fec150827 : SUCCESS in 7m 37s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/99552eda86b947c5bf3497fd0f256b54 : SUCCESS in 11m 22s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/9506a72553264cc1b7d860697c21ae6a : SUCCESS in 4m 03s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/b1e5ae94bbec4617a5bbd4f15dcb92dd : SUCCESS in 10m 01s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/ff4721f8200d4f27a53cc050322dc6f1 : SUCCESS in 11m 44s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/59bf096abca443cabadbfa1a63974813 : SUCCESS in 26m 15s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/55ff428db0bc4784a97fafec15082f87 : SUCCESS in 42m 07s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/4fc0a6c2c99947e8935bcfd45f91d8ab : SUCCESS in 27m 11s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/4c8d8932b8074cf8a4f26a8a34c7088d : SUCCESS in 58m 51s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/c3658713b7104bba801499c694663cb7 : SUCCESS in 42m 07s","accounts_in_message":[],"_revision_number":5},{"id":"00e7395cc96c444530837161b244ea672be85e4f","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-05 06:23:18.000000000","message":"Patch Set 5:\n\n(3 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/c1d3ad51d80a40be9e1553fc609bd7f9\n\n- teim-code-review https://zuul.teim.app/t/main/build/bfaa0ecc97f143b59ff4648e6b6b7015 : SUCCESS in 12m 35s\n\nWarning:\n  The commit message states the test_pci_sim_nvme_host.sh change adds a Phase 2 section covering \u0027MSI-X vector allocation (msi_irqs/ populated)\u0027 along with nvme list, id-ctrl, filesystem operations and VFIO rebind. In reality this patch changes only the Phase-1-char-device false-positive check (~12 lines), and the msi_irqs verification it names appears nowhere in the script (0 occurrences of \u0027msi_irqs\u0027 at both base 4c950d3 and head). The other listed coverage (nvme list, id-ctrl, fio, parted/mkfs, rebind) already existed in prior commits.\n\n**Severity**: WARNING | **Confidence**: 0.95\n\n**Impact**: The permanent change history claims MSI-X vector-allocation verification that no test performs, misleading future maintainers and reviewers auditing test coverage for the new MSI-X domain.\n\n**Suggestion**:\nAmend the message to describe only what this patchset changes in the script (the driver-bind false-positive fix), and either drop the msi_irqs claim or add the actual \u0027ls /sys/bus/pci/devices/$vf/msi_irqs/\u0027 check from testing.rst Req 1 to the script.","accounts_in_message":[],"_revision_number":5},{"id":"3271f49677aa7e872afef8238a886fbe5da461bf","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-09-07 15:05:29.000000000","message":"Patch Set 6: Patch Set 5 was rebased\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":6},{"id":"8102dd8c0ab779aeb77d6d4a7f9697fea6fccaee","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-07 15:05:51.000000000","message":"Patch Set 6:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":6},{"id":"9b5748b66f10eac66b9f61305bd0c90a6bb4adff","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-07 16:17:32.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b1c75d4e3a5443e79eaf4271766e5094\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8dd911e2960d4406943bee11bf9d7589 : SUCCESS in 4m 51s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1061d45ec0694755924143f4a027278a : SUCCESS in 5m 06s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/82e0864cbf1148f6846b48c83bf2f8be : SUCCESS in 6m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4627ebc470084d808f2361487a27be8a : SUCCESS in 3m 48s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/004e39b34254436abf45199e721213b6 : SUCCESS in 4m 18s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/314990c7f00c45aea78a0ecf151c7366 : SUCCESS in 4m 06s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/9f67cd742fec4227835c55b364b97988 : SUCCESS in 4m 12s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/4ab23b6f68d34cd5abc73681088e4bcb : SUCCESS in 4m 30s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/73a1bee81e134031a4e46319b871dc41 : SUCCESS in 58m 08s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/5f2c76a2b3bf44688ae7e337f32e5efe : SUCCESS in 35m 05s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/51adbc9f29df40d3b463269bfad085a5 : SUCCESS in 1h 05m 21s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/edd433595d88469ba903eb2bc9c7232f : SUCCESS in 59m 44s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/4d0c6ea375dc4544a76815eb414ab953 : SUCCESS in 31m 59s","accounts_in_message":[],"_revision_number":6},{"id":"1a56b51dbe4952b28ed58c39a09263f74d3af051","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-07 17:21:52.000000000","message":"Patch Set 6:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/f3962cee2a364696ba067c4a1094e677\n\n- teim-code-review https://zuul.teim.app/t/main/build/80c019e28cbe48c4a8fd300884358188 : SUCCESS in 12m 40s\n\nWarning:\n  AGENTS.md states: \u0027Series are always unsquashed; each commit must be independently testable and correct.\u0027 The parent commit of this change (a7a4e67) already calls pci_sim_msi_domain_init(host) (fake_pci_sriov_core.c:280) and pci_sim_msi_domain_fini(host) (:308, :324), but neither a declaration in fake_pci_sriov.h nor an implementation/Makefile object existed at that commit - the declaration, fake_pci_sriov_msi.c, and the Makefile entry only arrive in 2c41296. Building a7a4e67 therefore fails (implicit-function-declaration error and undefined reference at link, since fake_pci_sriov_msi.o is absent from the Makefile object list at that commit). Impact: Bisecting or testing the series commit-by-commit (required by the project\u0027s unsquashed-series convention and CI) fails at a7a4e67 with a build/link error, undermining the series\u0027 independent testability guarantee. Recommendation: Reorder the series so that fake_pci_sriov_msi.c, its header declarations, and the Makefile entry land in (or before) the same commit as the core.c call sites (a7a4e67), or move the core.c call sites into this commit. A trivial reparent/rebase fixes it.","accounts_in_message":[],"_revision_number":6},{"id":"4b1b0a3da5831abe866d0658538bddb94dd98d7d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-09-08 10:30:10.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":7},{"id":"dd3026379693d4e305c8a54e35a8ff5bf182a9c8","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-08 10:30:48.000000000","message":"Patch Set 7:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":7},{"id":"b9ee2622c1425394178b93ecfc77b38561cc722e","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-08 11:14:02.000000000","message":"Patch Set 7:\n\n(2 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/6bfa0880de614416aa436826d4014f32\n\n- teim-code-review https://zuul.teim.app/t/main/build/ef597a443f7244e385a84d82a6563b21 : SUCCESS in 12m 20s\n\nWarning:\n  The commit message states \u0027test_pci_sim_nvme_host.sh: add Phase 2 test section covering stock nvme driver binding, MSI-X vector allocation (msi_irqs/ populated), nvme list, id-ctrl via stock driver, filesystem operations ... and VFIO rebind cycle\u0027. In the reviewed diff the script change is only the replacement of the Phase 1 char-device check with a driver-bind check; the Phase 2 section (fio, parted/mkfs, id-ctrl, rebind) already existed at the base commit, and no msi_irqs check exists anywhere in the script.\n\n**Severity**: WARNING | **Confidence**: 0.85\n\n**Impact**: The permanent change history misattributes pre-existing test coverage to this commit and asserts an MSI-X vector verification that does not exist, misleading later maintenance and review of the MSI domain work.\n\n**Suggestion**:\nReword the test_pci_sim_nvme_host.sh bullet to describe what actually changed: replacing the Phase 1 char-device false-positive check with a pci_sim_nvme_host driver-bind check. Drop the msi_irqs claim or add the corresponding check to the script.","accounts_in_message":[],"_revision_number":7},{"id":"358983d95e1a05902b38f59607f4b0b6f341c967","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-08 11:38:28.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/675edfafb3814227b8f3158d4c055612\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c0bb98d2f2554d628ce05cf617abecdb : SUCCESS in 5m 37s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a5fd3eaae4a544459a16239adab40397 : SUCCESS in 4m 48s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c501f15df0154797b8ee745cdb264794 : SUCCESS in 8m 59s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1a9856c548784a548541c7ce12a2a687 : SUCCESS in 6m 22s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/954f716d638e4ed28ed88ee0face5322 : SUCCESS in 4m 38s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/9e20ce45513d4dc1be402fa86d237d36 : SUCCESS in 7m 20s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/d6e1982c70c94d5aaee074a208c34010 : SUCCESS in 5m 17s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/597d082aa3594df894e68cb9ee5263d3 : SUCCESS in 7m 33s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/d5f14fe7be304a32bb6d548e996f9fad : SUCCESS in 40m 41s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/893fd52574c046de8696398ce1ad303d : SUCCESS in 45m 39s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/b1103a09d1aa4859b3b985a5ee3fcf00 : SUCCESS in 1h 00m 35s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/93e450f9fdc34d86bb50227f62177be9 : SUCCESS in 54m 03s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/ab71b8c196fd49769d54f83ce69d8f08 : SUCCESS in 55m 55s","accounts_in_message":[],"_revision_number":7},{"id":"48e345a47b8c19059a0ea2970dd2fd5d44b94c24","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-09-08 12:49:29.000000000","message":"Uploaded patch set 8.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":8},{"id":"874d0ea7670095970c1fc57df9c4f4d274cb9dea","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-08 12:50:07.000000000","message":"Patch Set 8:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":8},{"id":"473d06094f0c27e02adbcf7247de30ea080c16df","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-08 13:29:49.000000000","message":"Patch Set 8:\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/9f8ca2157add445f894ec067355bcdd0\n\n- teim-code-review https://zuul.teim.app/t/main/build/3c16590ef2ea4d17aa9a35b185f1e851 : SUCCESS in 11m 45s","accounts_in_message":[],"_revision_number":8},{"id":"4c0bb30284ae3f5cb3e4d210d7176a4f9b4277a1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-08 13:57:00.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/13714879c8174a13be8a88a48dc3c17f\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/638f01b16c6c47688604032a597e3249 : SUCCESS in 5m 25s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3db92b72c1c64d329a60a1aa642e9f94 : SUCCESS in 5m 27s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/295a607bac4348989c6202a8a05a18db : SUCCESS in 5m 20s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c9683e722c1a43578edaf47a9d57335b : SUCCESS in 3m 10s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/3c9cc0b95c5a4f2b80fc6fca363b7815 : SUCCESS in 2m 47s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ef9a88348fbd41ecb2b60f1d5b14b202 : SUCCESS in 3m 05s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/59916e788cc045bab70a2a3769599a65 : SUCCESS in 4m 12s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/25904ee921784008a496f7f213815188 : SUCCESS in 4m 42s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/a22b8c579032467cbc2a88bd725533a1 : SUCCESS in 1h 00m 43s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/3b4a1505e8544a9a886dcfc0d2df5cde : SUCCESS in 24m 58s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/c96f38cf466c4c33a3466c43d7a83c94 : SUCCESS in 28m 47s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8e372ab19d2b46f6abb6845287e43b59 : SUCCESS in 29m 14s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/207f682635b04f169c2fec8235d5f58e : SUCCESS in 1h 01m 03s","accounts_in_message":[],"_revision_number":8},{"id":"81a03c33acde2f577fe595c9102bb5a6cd867817","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-09-09 05:24:02.000000000","message":"Uploaded patch set 9: Patch Set 8 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":9},{"id":"8a1b03533ad6a062ce358f3af262b7258970f622","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-09 05:26:04.000000000","message":"Patch Set 9:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":9},{"id":"f0ffc477124432ad4db5ed897d78c3e061b46aa1","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-09 06:12:05.000000000","message":"Patch Set 9:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/4965a48e65d24e78bee33c4d3e788497\n\n- teim-code-review https://zuul.teim.app/t/main/build/601fbb8d9e4f495aacfe20cb5cc66625 : SUCCESS in 18m 36s","accounts_in_message":[],"_revision_number":9},{"id":"d56837cdc8b0430ec7e033d7d3e9057291d29c6c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-09 06:37:35.000000000","message":"Patch Set 9: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dc8a7b1524e24551afc49c6894815146\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/cd896350a2a0454da794ddd554997b97 : SUCCESS in 4m 12s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/30e69bfaab674e449e1d5f58274b4ac7 : SUCCESS in 7m 17s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/106a9952e7c4436188369696e9370d1b : SUCCESS in 8m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a3e9be3da18346e58f54383405a7e279 : SUCCESS in 5m 17s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/1bbb617999eb4001bc6d260049db5552 : SUCCESS in 3m 14s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/4563820be9634804b90ed126fe119f93 : SUCCESS in 4m 58s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e0f449f7851d4297a96c27e826e8cb9e : SUCCESS in 6m 47s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/09fb69cefeb44e208ed4098fb92a3611 : SUCCESS in 4m 52s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/48c19f4d11524a7a92d38cde1f176e81 : SUCCESS in 53m 51s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/b784a6f0fe3e402fa52e72664d51115f : SUCCESS in 44m 03s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/281d10c659e844b789dafa8ab7c2f564 : SUCCESS in 58m 58s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/c8a95a69b08840f78e153ea84c3c9b6a : SUCCESS in 55m 36s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/ac2ae6dea1654e94853d986403ff6306 : SUCCESS in 31m 05s","accounts_in_message":[],"_revision_number":9},{"id":"189e56d3abed02f05ee10961cd3d4d686ebd4f99","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-09-09 06:42:58.000000000","message":"Uploaded patch set 10: Patch Set 9 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":10},{"id":"2782162a5449f12c9521189b3f2bba48d9800b4e","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-09 06:43:34.000000000","message":"Patch Set 10:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":10},{"id":"210732181e00656602f97ec947751052e641b90d","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-09 07:31:32.000000000","message":"Patch Set 10:\n\n(2 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/4ac37909fdff4f48a743e31d7d922b13\n\n- teim-code-review https://zuul.teim.app/t/main/build/c2c994f7aa25415ab288fd9091137386 : SUCCESS in 12m 42s\n\nWarning:\n  The header bullet in the commit message states that fake_pci_sriov.h \u0027add msi_fwnode, msi_parent, msi_domain fields to struct fake_pci_host; add pci_sim_msi_domain_init/fini declarations; remove unused sw_irq field\u0027. Neither the reviewed diff nor the base commit c623d13 contains any sw_irq identifier, so the claimed removal is not implemented by this change. The permanent change history therefore describes a modification that did not happen.\n\n**Severity**: WARNING | **Confidence**: 0.85\n\n**Impact**: Future readers and bisect tooling will look for a sw_irq removal (e.g., when auditing module state fields) that never occurred, and the message loses precision about what the header change actually contains.\n\n**Suggestion**:\nDrop the \u0027remove unused sw_irq field\u0027 clause (or rephrase to describe the actual header change: replacing the blank line with the three MSI domain fields plus the init/fini declarations) when amending the patchset.","accounts_in_message":[],"_revision_number":10},{"id":"8229d81ff94c0a289f465e231ee577c24f28017e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-09 07:47:30.000000000","message":"Patch Set 10: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dc2c8149294d493da04cf3925bcd803e\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/50db0b554fbc450abd6f1e3f17bace68 : SUCCESS in 6m 46s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c9eb89283c7e47a3ae529bd950d00f77 : SUCCESS in 6m 40s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/090d926440f846078a4256f5b544eab2 : SUCCESS in 9m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9154c2ce8a8e4ac3bae7c09a13df574c : SUCCESS in 3m 27s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/7c161635d26c4aaf895e734586aa4034 : SUCCESS in 2m 38s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f310a7a100734439bb436ba895b6799a : SUCCESS in 3m 47s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/b1a5924654b344e7ad2b5fa49bc23022 : SUCCESS in 6m 40s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/9c56cc7df2dd4592a657699e31d9f2ac : SUCCESS in 6m 14s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/b46d84ec90f447f0909162e36d1a46f9 : SUCCESS in 55m 49s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/eed6cdcc389c426688e0650f4875a510 : SUCCESS in 23m 44s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/98273a532dab4a4fb060776f91fda072 : SUCCESS in 58m 12s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/741d34c3c8fa4cbaa3fc2aafb850610a : SUCCESS in 56m 46s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/4cfa1bad68574faa82e8818ee9597b10 : SUCCESS in 56m 08s","accounts_in_message":[],"_revision_number":10},{"id":"ab9b40a6de030736bc01eba27ba7441e9a9f2bdc","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-09-09 15:08:36.000000000","message":"Uploaded patch set 11: Patch Set 10 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":11},{"id":"18d32abc34972ec38e05d9920840fd1bb370706f","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-09 15:09:45.000000000","message":"Patch Set 11:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":11},{"id":"d476cbc859d56e6254b625a7dba6fde1acc1771d","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-09-09 15:56:19.000000000","message":"Patch Set 11:\n\n(2 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/de6d218bab434cbcb14686cd1883635d\n\n- teim-code-review https://zuul.teim.app/t/main/build/d9bf2f63d3d844a3a2fd5ea929142403 : SUCCESS in 13m 53s\n\nWarning:\n  The commit message bullet for fake_pci_sriov.h says \u0027remove unused sw_irq field\u0027, but the patch\u0027s diff to the header only removes a blank line and adds the msi_fwnode/msi_parent/msi_domain fields; sw_irq does not exist anywhere in the tree or its git history.\n\n**Severity**: SUGGESTION | **Confidence**: 0.85\n\n**Impact**: Readers auditing the permanent history will look for a field removal that is not in this commit, wasting review time and making the message an inaccurate record of the patch contents.\n\n**Recommendation**:\nDrop the \u0027remove unused sw_irq field\u0027 clause from the fake_pci_sriov.h bullet; it appears to describe an earlier patchset iteration.","accounts_in_message":[],"_revision_number":11},{"id":"0aab0169e8e37067d4bf41a33fd516b1c5db6d06","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-09 16:36:52.000000000","message":"Patch Set 11: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/43b31c033ecf4aff9d336ac8f378edeb\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/161fe3b0be5b4e2da93754b670b720c4 : SUCCESS in 7m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6ffb7f91a223485086dbfefbd5751967 : SUCCESS in 6m 07s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bb3ab01ad7334c3e83739541bf4025b7 : SUCCESS in 8m 35s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/34fc85824c4644c697a25289c77fbe1e : SUCCESS in 4m 43s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e6f5a11618784aa28b4ae93fd0738b68 : SUCCESS in 5m 03s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/1ad4c8fee0234b6a8abba408cb4fb374 : SUCCESS in 7m 01s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/3167c40ece724a1b8e7c4610400b03f7 : SUCCESS in 5m 33s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/5ba2c37bb0a541909153eed280623f50 : SUCCESS in 5m 10s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/340f172dc3ae41ff9dac96e1ac9b20a8 : SUCCESS in 47m 09s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/b92734ae3f83412b90f4046963bc5b09 : SUCCESS in 25m 11s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/5c35c0253675453e939ae5e65b6c8464 : SUCCESS in 1h 13m 21s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d2fe53111f6d4c9e9e52552ace3ea666 : SUCCESS in 58m 21s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/fcfe230437b840108f38c26ff6740ded : SUCCESS in 58m 56s","accounts_in_message":[],"_revision_number":11}],"current_revision_number":11,"current_revision":"de3e87000df23f090ee90684d57fbad54ca3caba","revisions":{"ec82833dfea3e70b7a55dfb93e8a196e39c36078":{"kind":"REWORK","_number":1,"created":"2026-09-01 11:19:57.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/55/1003255/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/55/1003255/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/1"}}},"commit":{"parents":[{"commit":"5f1c29e27702391d91288d1cd7373069b0de45aa","subject":"pci-sim: add NVMe VFIO guest probe and host handoff","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/5f1c29e27702391d91288d1cd7373069b0de45aa"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-27 10:02:34.000000000","tz":330},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-09-01 11:18:04.000000000","tz":330},"subject":"pci-sim: add software MSI-X domain to fake host bridge","message":"pci-sim: add software MSI-X domain to fake host bridge\n\nThe stock nvme driver calls pci_alloc_irq_vectors() which reaches\npci_msi_get_device_domain().  That function checks pdev-\u003edev.msi.domain\nthen pdev-\u003edev.parent-\u003emsi.domain (the bus device).  Both are NULL for\nour synthetic host bridge, so pci_alloc_irq_vectors() returns -ENOTSUPP\n(-524) and nvme probe aborts before any /dev/nvme* node is created.\n\nThis change implements a per-host software PCI MSI-X interrupt domain\nfollowing the same pattern as the fake PCI and IOMMU domains already in\nthe tree.  A new file fake_pci_sriov_msi.c registers a two-level\nirq_domain hierarchy on the host bridge device before pci_host_probe()\nruns, so the kernel\u0027s pci_set_bus_msi_domain() (called from\npci_scan_root_bus_bridge() inside pci_host_probe()) reads the domain\nfrom the bridge device and propagates it to the root bus.  VFs created\nlater by pci_enable_sriov() inherit the domain from the bus via\npci_msi_get_device_domain() -\u003e dev_get_msi_domain(pdev-\u003edev.parent)\nautomatically — no bus notifier or device_reprobe() is required.\n\n* fake_pci_sriov_msi.c: new file; a linear parent irq_domain allocates\n  virtual IRQ descriptors via irq_domain_set_info(handle_simple_irq);\n  a PCI MSI child domain (pci_msi_create_irq_domain) provides MSI-X\n  semantics; the parent chip implements irq_compose_msi_msg (required\n  by msi_domain_activate to avoid BUG_ON) and irq_set_affinity\n  (required by irq_startup -\u003e __setup_irq -\u003e request_irq) returning\n  no-op / IRQ_SET_MASK_OK values since interrupt delivery is software-\n  only via generic_handle_irq_safe() from the poll kthread;\n  pci_sim_msi_domain_init() must be called before pci_host_probe() and\n  pci_sim_msi_domain_fini() before pci_stop_root_bus()\n\n* fake_pci_sriov.h: add msi_fwnode, msi_parent, msi_domain fields to\n  struct fake_pci_host; add pci_sim_msi_domain_init/fini declarations\n\n* Makefile: add fake_pci_sriov_msi.o in alphabetical order\n\n* test_pci_sim_nvme_host.sh: add Phase 2 test section covering stock\n  nvme driver binding, MSI-X vector allocation (msi_irqs/ populated),\n  nvme list, id-ctrl via stock driver, filesystem operations (parted,\n  mkfs.ext4, mount, write+read, blkid), and VFIO rebind cycle; fix\n  false-positive that mistook stock nvme controller char devices\n  (/dev/nvmeN) for Phase 1 pci_sim_nvme_host artefacts\n\nGenerated-By: Claude Opus 4.6\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\nChange-Id: I491654bfc75cfbe2043edb1ff4359368a0967237\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/ec82833dfea3e70b7a55dfb93e8a196e39c36078"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/ec82833dfea3e70b7a55dfb93e8a196e39c36078"}]},"branch":"refs/heads/master"},"a9b3407034586fc86afcd769f444a403189f486d":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-09-03 16:52:54.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/55/1003255/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/55/1003255/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/2"}}},"commit":{"parents":[{"commit":"5387af03ed6c6a4c911ce743dae912bf5b843ae8","subject":"pci-sim: add NVMe VFIO guest probe and host handoff","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/5387af03ed6c6a4c911ce743dae912bf5b843ae8"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-27 10:02:34.000000000","tz":330},"committer":{"name":"chandan kumar","email":"chkumar@redhat.com","date":"2026-09-03 16:52:54.000000000","tz":0},"subject":"pci-sim: add software MSI-X domain to fake host bridge","message":"pci-sim: add software MSI-X domain to fake host bridge\n\nThe stock nvme driver calls pci_alloc_irq_vectors() which reaches\npci_msi_get_device_domain().  That function checks pdev-\u003edev.msi.domain\nthen pdev-\u003edev.parent-\u003emsi.domain (the bus device).  Both are NULL for\nour synthetic host bridge, so pci_alloc_irq_vectors() returns -ENOTSUPP\n(-524) and nvme probe aborts before any /dev/nvme* node is created.\n\nThis change implements a per-host software PCI MSI-X interrupt domain\nfollowing the same pattern as the fake PCI and IOMMU domains already in\nthe tree.  A new file fake_pci_sriov_msi.c registers a two-level\nirq_domain hierarchy on the host bridge device before pci_host_probe()\nruns, so the kernel\u0027s pci_set_bus_msi_domain() (called from\npci_scan_root_bus_bridge() inside pci_host_probe()) reads the domain\nfrom the bridge device and propagates it to the root bus.  VFs created\nlater by pci_enable_sriov() inherit the domain from the bus via\npci_msi_get_device_domain() -\u003e dev_get_msi_domain(pdev-\u003edev.parent)\nautomatically — no bus notifier or device_reprobe() is required.\n\n* fake_pci_sriov_msi.c: new file; a linear parent irq_domain allocates\n  virtual IRQ descriptors via irq_domain_set_info(handle_simple_irq);\n  a PCI MSI child domain (pci_msi_create_irq_domain) provides MSI-X\n  semantics; the parent chip implements irq_compose_msi_msg (required\n  by msi_domain_activate to avoid BUG_ON) and irq_set_affinity\n  (required by irq_startup -\u003e __setup_irq -\u003e request_irq) returning\n  no-op / IRQ_SET_MASK_OK values since interrupt delivery is software-\n  only via generic_handle_irq_safe() from the poll kthread;\n  pci_sim_msi_domain_init() must be called before pci_host_probe() and\n  pci_sim_msi_domain_fini() before pci_stop_root_bus()\n\n* fake_pci_sriov.h: add msi_fwnode, msi_parent, msi_domain fields to\n  struct fake_pci_host; add pci_sim_msi_domain_init/fini declarations\n\n* Makefile: add fake_pci_sriov_msi.o in alphabetical order\n\n* test_pci_sim_nvme_host.sh: add Phase 2 test section covering stock\n  nvme driver binding, MSI-X vector allocation (msi_irqs/ populated),\n  nvme list, id-ctrl via stock driver, filesystem operations (parted,\n  mkfs.ext4, mount, write+read, blkid), and VFIO rebind cycle; fix\n  false-positive that mistook stock nvme controller char devices\n  (/dev/nvmeN) for Phase 1 pci_sim_nvme_host artefacts\n\nGenerated-By: Claude Opus 4.6\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\nChange-Id: I491654bfc75cfbe2043edb1ff4359368a0967237\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/a9b3407034586fc86afcd769f444a403189f486d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/a9b3407034586fc86afcd769f444a403189f486d"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"5f1c29e27702391d91288d1cd7373069b0de45aa","ours":"ec82833dfea3e70b7a55dfb93e8a196e39c36078","theirs":"5387af03ed6c6a4c911ce743dae912bf5b843ae8","merge_strategy":"recursive","contains_conflicts":false}},"6ffbbdcfe98585eeec5f6a10853cf9b32ce9a906":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-09-04 04:58:33.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/55/1003255/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/55/1003255/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/3"}}},"commit":{"parents":[{"commit":"d058ecef40ca1930a023c22fa5919db573c984eb","subject":"pci-sim: add NVMe VFIO guest probe and host handoff","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/d058ecef40ca1930a023c22fa5919db573c984eb"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-27 10:02:34.000000000","tz":330},"committer":{"name":"chandan kumar","email":"chkumar@redhat.com","date":"2026-09-04 04:58:33.000000000","tz":0},"subject":"pci-sim: add software MSI-X domain to fake host bridge","message":"pci-sim: add software MSI-X domain to fake host bridge\n\nThe stock nvme driver calls pci_alloc_irq_vectors() which reaches\npci_msi_get_device_domain().  That function checks pdev-\u003edev.msi.domain\nthen pdev-\u003edev.parent-\u003emsi.domain (the bus device).  Both are NULL for\nour synthetic host bridge, so pci_alloc_irq_vectors() returns -ENOTSUPP\n(-524) and nvme probe aborts before any /dev/nvme* node is created.\n\nThis change implements a per-host software PCI MSI-X interrupt domain\nfollowing the same pattern as the fake PCI and IOMMU domains already in\nthe tree.  A new file fake_pci_sriov_msi.c registers a two-level\nirq_domain hierarchy on the host bridge device before pci_host_probe()\nruns, so the kernel\u0027s pci_set_bus_msi_domain() (called from\npci_scan_root_bus_bridge() inside pci_host_probe()) reads the domain\nfrom the bridge device and propagates it to the root bus.  VFs created\nlater by pci_enable_sriov() inherit the domain from the bus via\npci_msi_get_device_domain() -\u003e dev_get_msi_domain(pdev-\u003edev.parent)\nautomatically — no bus notifier or device_reprobe() is required.\n\n* fake_pci_sriov_msi.c: new file; a linear parent irq_domain allocates\n  virtual IRQ descriptors via irq_domain_set_info(handle_simple_irq);\n  a PCI MSI child domain (pci_msi_create_irq_domain) provides MSI-X\n  semantics; the parent chip implements irq_compose_msi_msg (required\n  by msi_domain_activate to avoid BUG_ON) and irq_set_affinity\n  (required by irq_startup -\u003e __setup_irq -\u003e request_irq) returning\n  no-op / IRQ_SET_MASK_OK values since interrupt delivery is software-\n  only via generic_handle_irq_safe() from the poll kthread;\n  pci_sim_msi_domain_init() must be called before pci_host_probe() and\n  pci_sim_msi_domain_fini() before pci_stop_root_bus()\n\n* fake_pci_sriov.h: add msi_fwnode, msi_parent, msi_domain fields to\n  struct fake_pci_host; add pci_sim_msi_domain_init/fini declarations\n\n* Makefile: add fake_pci_sriov_msi.o in alphabetical order\n\n* test_pci_sim_nvme_host.sh: add Phase 2 test section covering stock\n  nvme driver binding, MSI-X vector allocation (msi_irqs/ populated),\n  nvme list, id-ctrl via stock driver, filesystem operations (parted,\n  mkfs.ext4, mount, write+read, blkid), and VFIO rebind cycle; fix\n  false-positive that mistook stock nvme controller char devices\n  (/dev/nvmeN) for Phase 1 pci_sim_nvme_host artefacts\n\nGenerated-By: Claude Opus 4.6\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\nChange-Id: I491654bfc75cfbe2043edb1ff4359368a0967237\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/6ffbbdcfe98585eeec5f6a10853cf9b32ce9a906"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/6ffbbdcfe98585eeec5f6a10853cf9b32ce9a906"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"5387af03ed6c6a4c911ce743dae912bf5b843ae8","ours":"a9b3407034586fc86afcd769f444a403189f486d","theirs":"d058ecef40ca1930a023c22fa5919db573c984eb","merge_strategy":"recursive","contains_conflicts":false}},"684102df85ca181ff66d9274cae0ce03c0a8d9b0":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2026-09-04 06:09:55.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/55/1003255/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/55/1003255/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/4"}}},"commit":{"parents":[{"commit":"05d34c1a015ec50d3968251583af30678ba95bda","subject":"pci-sim: add NVMe VFIO guest probe and host handoff","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/05d34c1a015ec50d3968251583af30678ba95bda"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-27 10:02:34.000000000","tz":330},"committer":{"name":"chandan kumar","email":"chkumar@redhat.com","date":"2026-09-04 06:09:55.000000000","tz":0},"subject":"pci-sim: add software MSI-X domain to fake host bridge","message":"pci-sim: add software MSI-X domain to fake host bridge\n\nThe stock nvme driver calls pci_alloc_irq_vectors() which reaches\npci_msi_get_device_domain().  That function checks pdev-\u003edev.msi.domain\nthen pdev-\u003edev.parent-\u003emsi.domain (the bus device).  Both are NULL for\nour synthetic host bridge, so pci_alloc_irq_vectors() returns -ENOTSUPP\n(-524) and nvme probe aborts before any /dev/nvme* node is created.\n\nThis change implements a per-host software PCI MSI-X interrupt domain\nfollowing the same pattern as the fake PCI and IOMMU domains already in\nthe tree.  A new file fake_pci_sriov_msi.c registers a two-level\nirq_domain hierarchy on the host bridge device before pci_host_probe()\nruns, so the kernel\u0027s pci_set_bus_msi_domain() (called from\npci_scan_root_bus_bridge() inside pci_host_probe()) reads the domain\nfrom the bridge device and propagates it to the root bus.  VFs created\nlater by pci_enable_sriov() inherit the domain from the bus via\npci_msi_get_device_domain() -\u003e dev_get_msi_domain(pdev-\u003edev.parent)\nautomatically — no bus notifier or device_reprobe() is required.\n\n* fake_pci_sriov_msi.c: new file; a linear parent irq_domain allocates\n  virtual IRQ descriptors via irq_domain_set_info(handle_simple_irq);\n  a PCI MSI child domain (pci_msi_create_irq_domain) provides MSI-X\n  semantics; the parent chip implements irq_compose_msi_msg (required\n  by msi_domain_activate to avoid BUG_ON) and irq_set_affinity\n  (required by irq_startup -\u003e __setup_irq -\u003e request_irq) returning\n  no-op / IRQ_SET_MASK_OK values since interrupt delivery is software-\n  only via generic_handle_irq_safe() from the poll kthread;\n  pci_sim_msi_domain_init() must be called before pci_host_probe() and\n  pci_sim_msi_domain_fini() before pci_stop_root_bus()\n\n* fake_pci_sriov.h: add msi_fwnode, msi_parent, msi_domain fields to\n  struct fake_pci_host; add pci_sim_msi_domain_init/fini declarations\n\n* Makefile: add fake_pci_sriov_msi.o in alphabetical order\n\n* test_pci_sim_nvme_host.sh: add Phase 2 test section covering stock\n  nvme driver binding, MSI-X vector allocation (msi_irqs/ populated),\n  nvme list, id-ctrl via stock driver, filesystem operations (parted,\n  mkfs.ext4, mount, write+read, blkid), and VFIO rebind cycle; fix\n  false-positive that mistook stock nvme controller char devices\n  (/dev/nvmeN) for Phase 1 pci_sim_nvme_host artefacts\n\nGenerated-By: Claude Opus 4.6\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\nChange-Id: I491654bfc75cfbe2043edb1ff4359368a0967237\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/684102df85ca181ff66d9274cae0ce03c0a8d9b0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/684102df85ca181ff66d9274cae0ce03c0a8d9b0"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"d058ecef40ca1930a023c22fa5919db573c984eb","ours":"6ffbbdcfe98585eeec5f6a10853cf9b32ce9a906","theirs":"05d34c1a015ec50d3968251583af30678ba95bda","merge_strategy":"recursive","contains_conflicts":false}},"08361d6adcc68b0f0f09c2d283ae35183d563ec7":{"kind":"TRIVIAL_REBASE","_number":5,"created":"2026-09-05 04:13:31.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/55/1003255/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/55/1003255/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/5"}}},"commit":{"parents":[{"commit":"4c950d32202978c9cf1c8be730eed34fef371ec5","subject":"pci-sim: add NVMe VFIO guest probe and host handoff","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/4c950d32202978c9cf1c8be730eed34fef371ec5"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-27 10:02:34.000000000","tz":330},"committer":{"name":"chandan kumar","email":"chkumar@redhat.com","date":"2026-09-05 04:13:31.000000000","tz":0},"subject":"pci-sim: add software MSI-X domain to fake host bridge","message":"pci-sim: add software MSI-X domain to fake host bridge\n\nThe stock nvme driver calls pci_alloc_irq_vectors() which reaches\npci_msi_get_device_domain().  That function checks pdev-\u003edev.msi.domain\nthen pdev-\u003edev.parent-\u003emsi.domain (the bus device).  Both are NULL for\nour synthetic host bridge, so pci_alloc_irq_vectors() returns -ENOTSUPP\n(-524) and nvme probe aborts before any /dev/nvme* node is created.\n\nThis change implements a per-host software PCI MSI-X interrupt domain\nfollowing the same pattern as the fake PCI and IOMMU domains already in\nthe tree.  A new file fake_pci_sriov_msi.c registers a two-level\nirq_domain hierarchy on the host bridge device before pci_host_probe()\nruns, so the kernel\u0027s pci_set_bus_msi_domain() (called from\npci_scan_root_bus_bridge() inside pci_host_probe()) reads the domain\nfrom the bridge device and propagates it to the root bus.  VFs created\nlater by pci_enable_sriov() inherit the domain from the bus via\npci_msi_get_device_domain() -\u003e dev_get_msi_domain(pdev-\u003edev.parent)\nautomatically — no bus notifier or device_reprobe() is required.\n\n* fake_pci_sriov_msi.c: new file; a linear parent irq_domain allocates\n  virtual IRQ descriptors via irq_domain_set_info(handle_simple_irq);\n  a PCI MSI child domain (pci_msi_create_irq_domain) provides MSI-X\n  semantics; the parent chip implements irq_compose_msi_msg (required\n  by msi_domain_activate to avoid BUG_ON) and irq_set_affinity\n  (required by irq_startup -\u003e __setup_irq -\u003e request_irq) returning\n  no-op / IRQ_SET_MASK_OK values since interrupt delivery is software-\n  only via generic_handle_irq_safe() from the poll kthread;\n  pci_sim_msi_domain_init() must be called before pci_host_probe() and\n  pci_sim_msi_domain_fini() before pci_stop_root_bus()\n\n* fake_pci_sriov.h: add msi_fwnode, msi_parent, msi_domain fields to\n  struct fake_pci_host; add pci_sim_msi_domain_init/fini declarations\n\n* Makefile: add fake_pci_sriov_msi.o in alphabetical order\n\n* test_pci_sim_nvme_host.sh: add Phase 2 test section covering stock\n  nvme driver binding, MSI-X vector allocation (msi_irqs/ populated),\n  nvme list, id-ctrl via stock driver, filesystem operations (parted,\n  mkfs.ext4, mount, write+read, blkid), and VFIO rebind cycle; fix\n  false-positive that mistook stock nvme controller char devices\n  (/dev/nvmeN) for Phase 1 pci_sim_nvme_host artefacts\n\nGenerated-By: Claude Opus 4.6\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\nChange-Id: I491654bfc75cfbe2043edb1ff4359368a0967237\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/08361d6adcc68b0f0f09c2d283ae35183d563ec7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/08361d6adcc68b0f0f09c2d283ae35183d563ec7"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"05d34c1a015ec50d3968251583af30678ba95bda","ours":"684102df85ca181ff66d9274cae0ce03c0a8d9b0","theirs":"4c950d32202978c9cf1c8be730eed34fef371ec5","merge_strategy":"recursive","contains_conflicts":false}},"2c4129611afb26f5e668f883835eac93af45dbbc":{"kind":"TRIVIAL_REBASE","_number":6,"created":"2026-09-07 15:05:29.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/55/1003255/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/55/1003255/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/6"}}},"commit":{"parents":[{"commit":"a7a4e67b38629534e32e9e2400515b19f1d6d3cd","subject":"pci-sim: add NVMe VFIO guest probe and host handoff","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/a7a4e67b38629534e32e9e2400515b19f1d6d3cd"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-27 10:02:34.000000000","tz":330},"committer":{"name":"chandan kumar","email":"chkumar@redhat.com","date":"2026-09-07 15:05:29.000000000","tz":0},"subject":"pci-sim: add software MSI-X domain to fake host bridge","message":"pci-sim: add software MSI-X domain to fake host bridge\n\nThe stock nvme driver calls pci_alloc_irq_vectors() which reaches\npci_msi_get_device_domain().  That function checks pdev-\u003edev.msi.domain\nthen pdev-\u003edev.parent-\u003emsi.domain (the bus device).  Both are NULL for\nour synthetic host bridge, so pci_alloc_irq_vectors() returns -ENOTSUPP\n(-524) and nvme probe aborts before any /dev/nvme* node is created.\n\nThis change implements a per-host software PCI MSI-X interrupt domain\nfollowing the same pattern as the fake PCI and IOMMU domains already in\nthe tree.  A new file fake_pci_sriov_msi.c registers a two-level\nirq_domain hierarchy on the host bridge device before pci_host_probe()\nruns, so the kernel\u0027s pci_set_bus_msi_domain() (called from\npci_scan_root_bus_bridge() inside pci_host_probe()) reads the domain\nfrom the bridge device and propagates it to the root bus.  VFs created\nlater by pci_enable_sriov() inherit the domain from the bus via\npci_msi_get_device_domain() -\u003e dev_get_msi_domain(pdev-\u003edev.parent)\nautomatically — no bus notifier or device_reprobe() is required.\n\n* fake_pci_sriov_msi.c: new file; a linear parent irq_domain allocates\n  virtual IRQ descriptors via irq_domain_set_info(handle_simple_irq);\n  a PCI MSI child domain (pci_msi_create_irq_domain) provides MSI-X\n  semantics; the parent chip implements irq_compose_msi_msg (required\n  by msi_domain_activate to avoid BUG_ON) and irq_set_affinity\n  (required by irq_startup -\u003e __setup_irq -\u003e request_irq) returning\n  no-op / IRQ_SET_MASK_OK values since interrupt delivery is software-\n  only via generic_handle_irq_safe() from the poll kthread;\n  pci_sim_msi_domain_init() must be called before pci_host_probe() and\n  pci_sim_msi_domain_fini() before pci_stop_root_bus()\n\n* fake_pci_sriov.h: add msi_fwnode, msi_parent, msi_domain fields to\n  struct fake_pci_host; add pci_sim_msi_domain_init/fini declarations\n\n* Makefile: add fake_pci_sriov_msi.o in alphabetical order\n\n* test_pci_sim_nvme_host.sh: add Phase 2 test section covering stock\n  nvme driver binding, MSI-X vector allocation (msi_irqs/ populated),\n  nvme list, id-ctrl via stock driver, filesystem operations (parted,\n  mkfs.ext4, mount, write+read, blkid), and VFIO rebind cycle; fix\n  false-positive that mistook stock nvme controller char devices\n  (/dev/nvmeN) for Phase 1 pci_sim_nvme_host artefacts\n\nGenerated-By: Claude Opus 4.6\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\nChange-Id: I491654bfc75cfbe2043edb1ff4359368a0967237\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/2c4129611afb26f5e668f883835eac93af45dbbc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/2c4129611afb26f5e668f883835eac93af45dbbc"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"4c950d32202978c9cf1c8be730eed34fef371ec5","ours":"08361d6adcc68b0f0f09c2d283ae35183d563ec7","theirs":"a7a4e67b38629534e32e9e2400515b19f1d6d3cd","merge_strategy":"recursive","contains_conflicts":false}},"c62ee5c849f91d65208f60de3b67fffb6b785238":{"kind":"REWORK","_number":7,"created":"2026-09-08 10:30:10.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/55/1003255/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/55/1003255/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/7"}}},"commit":{"parents":[{"commit":"37e98285e2188b48f7f181467e7aab60776b3e0c","subject":"pci-sim: add NVMe VFIO guest probe and host handoff","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/37e98285e2188b48f7f181467e7aab60776b3e0c"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-27 10:02:34.000000000","tz":330},"committer":{"name":"Chandan","email":"chkumar@redhat.com","date":"2026-09-08 10:24:21.000000000","tz":330},"subject":"pci-sim: add software MSI-X domain to fake host bridge","message":"pci-sim: add software MSI-X domain to fake host bridge\n\nThe stock nvme driver calls pci_alloc_irq_vectors() which reaches\npci_msi_get_device_domain().  That function checks pdev-\u003edev.msi.domain\nthen pdev-\u003edev.parent-\u003emsi.domain (the bus device).  Both are NULL for\nour synthetic host bridge, so pci_alloc_irq_vectors() returns -ENOTSUPP\n(-524) and nvme probe aborts before any /dev/nvme* node is created.\n\nThis change implements a per-host software PCI MSI-X interrupt domain\nfollowing the same pattern as the fake PCI and IOMMU domains already in\nthe tree.  A new file fake_pci_sriov_msi.c registers a two-level\nirq_domain hierarchy on the host bridge device before pci_host_probe()\nruns, so the kernel\u0027s pci_set_bus_msi_domain() (called from\npci_scan_root_bus_bridge() inside pci_host_probe()) reads the domain\nfrom the bridge device and propagates it to the root bus.  VFs created\nlater by pci_enable_sriov() inherit the domain from the bus via\npci_msi_get_device_domain() -\u003e dev_get_msi_domain(pdev-\u003edev.parent)\nautomatically — no bus notifier or device_reprobe() is required.\n\n* fake_pci_sriov_msi.c: new file; a linear parent irq_domain allocates\n  virtual IRQ descriptors via irq_domain_set_info(handle_simple_irq);\n  a PCI MSI child domain (pci_msi_create_irq_domain) provides MSI-X\n  semantics; the parent chip implements irq_compose_msi_msg (required\n  by msi_domain_activate to avoid BUG_ON) and irq_set_affinity\n  (required by irq_startup -\u003e __setup_irq -\u003e request_irq) returning\n  no-op / IRQ_SET_MASK_OK values since interrupt delivery is software-\n  only via generic_handle_irq_safe() from the poll kthread;\n  pci_sim_msi_domain_init() must be called before pci_host_probe() and\n  pci_sim_msi_domain_fini() before pci_stop_root_bus()\n\n* fake_pci_sriov.h: add msi_fwnode, msi_parent, msi_domain fields to\n  struct fake_pci_host; add pci_sim_msi_domain_init/fini declarations\n\n* Makefile: add fake_pci_sriov_msi.o in alphabetical order\n\n* test_pci_sim_nvme_host.sh: add Phase 2 test section covering stock\n  nvme driver binding, MSI-X vector allocation (msi_irqs/ populated),\n  nvme list, id-ctrl via stock driver, filesystem operations (parted,\n  mkfs.ext4, mount, write+read, blkid), and VFIO rebind cycle; fix\n  false-positive that mistook stock nvme controller char devices\n  (/dev/nvmeN) for Phase 1 pci_sim_nvme_host artefacts\n\nGenerated-By: Claude Opus 4.6\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\nChange-Id: I491654bfc75cfbe2043edb1ff4359368a0967237\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/c62ee5c849f91d65208f60de3b67fffb6b785238"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/c62ee5c849f91d65208f60de3b67fffb6b785238"}]},"branch":"refs/heads/master"},"9dbf63e29291352441b471956fc30cdf5cce16d4":{"kind":"REWORK","_number":8,"created":"2026-09-08 12:49:29.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/55/1003255/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/55/1003255/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/8"}}},"commit":{"parents":[{"commit":"b6c3e5396b7f171c9b8799dfdca1e8dcef5d9873","subject":"pci-sim: add NVMe VFIO guest probe and host handoff","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/b6c3e5396b7f171c9b8799dfdca1e8dcef5d9873"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-06 05:16:37.000000000","tz":330},"committer":{"name":"Chandan","email":"chkumar@redhat.com","date":"2026-09-08 12:14:35.000000000","tz":330},"subject":"pci-sim: add software MSI-X domain to fake host bridge","message":"pci-sim: add software MSI-X domain to fake host bridge\n\nThe stock nvme driver calls pci_alloc_irq_vectors() which reaches\npci_msi_get_device_domain().  That function checks pdev-\u003edev.msi.domain\nthen pdev-\u003edev.parent-\u003emsi.domain (the bus device).  Both are NULL for\nour synthetic host bridge, so pci_alloc_irq_vectors() returns -ENOTSUPP\n(-524) and nvme probe aborts before any /dev/nvme* node is created.\n\nThis change implements a per-host software PCI MSI-X interrupt domain\nfollowing the same pattern as the fake PCI and IOMMU domains already in\nthe tree.  A new file fake_pci_sriov_msi.c registers a two-level\nirq_domain hierarchy on the host bridge device before pci_host_probe()\nruns, so the kernel\u0027s pci_set_bus_msi_domain() (called from\npci_scan_root_bus_bridge() inside pci_host_probe()) reads the domain\nfrom the bridge device and propagates it to the root bus.  VFs created\nlater by pci_enable_sriov() inherit the domain from the bus via\npci_msi_get_device_domain() -\u003e dev_get_msi_domain(pdev-\u003edev.parent)\nautomatically — no bus notifier or device_reprobe() is required.\n\n* fake_pci_sriov_msi.c: new file; a linear parent irq_domain allocates\n  virtual IRQ descriptors via irq_domain_set_info(handle_simple_irq);\n  a PCI MSI child domain (pci_msi_create_irq_domain) provides MSI-X\n  semantics; the parent chip implements irq_compose_msi_msg (required\n  by msi_domain_activate to avoid BUG_ON) and irq_set_affinity\n  (required by irq_startup -\u003e __setup_irq -\u003e request_irq) returning\n  no-op / IRQ_SET_MASK_OK values since interrupt delivery is software-\n  only via generic_handle_irq_safe() from the poll kthread;\n  pci_sim_msi_domain_init() must be called before pci_host_probe() and\n  pci_sim_msi_domain_fini() before pci_stop_root_bus()\n\n* fake_pci_sriov.h: add msi_fwnode, msi_parent, msi_domain fields to\n  struct fake_pci_host; add pci_sim_msi_domain_init/fini declarations;\n  remove unused sw_irq field\n\n* fake_pci_sriov_core.c: wire pci_sim_msi_domain_init() before\n  pci_host_probe() and pci_sim_msi_domain_fini() in host_remove and\n  error paths\n\n* Makefile: add fake_pci_sriov_msi.o in alphabetical order\n\n* test_pci_sim_nvme_host.sh: replace Phase 1 char-device false-positive\n  check with pci_sim_nvme_host driver-bind check so stock nvme\n  controller char devices (/dev/nvmeN) are not mistaken for Phase 1\n  artefacts\n\n* testing.rst: clarify that only a subset of MSI-X domain requirements\n  are automated; MSI-X vector verification and dmesg probe-failure\n  checks remain manual steps\n\nGenerated-By: Claude Opus 4.6\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\nChange-Id: I491654bfc75cfbe2043edb1ff4359368a0967237\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/9dbf63e29291352441b471956fc30cdf5cce16d4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/9dbf63e29291352441b471956fc30cdf5cce16d4"}]},"branch":"refs/heads/master"},"adbfa021c2a161eb97d910a4058f3ce93b463b3b":{"kind":"TRIVIAL_REBASE","_number":9,"created":"2026-09-09 05:24:02.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/55/1003255/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/55/1003255/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/9"}}},"commit":{"parents":[{"commit":"08b2342dae3f1d82df38114cf8fe90b989f523b8","subject":"pci-sim: add NVMe VFIO guest probe and host handoff","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/08b2342dae3f1d82df38114cf8fe90b989f523b8"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-06 05:16:37.000000000","tz":330},"committer":{"name":"Chandan","email":"chkumar@redhat.com","date":"2026-09-09 05:11:15.000000000","tz":330},"subject":"pci-sim: add software MSI-X domain to fake host bridge","message":"pci-sim: add software MSI-X domain to fake host bridge\n\nThe stock nvme driver calls pci_alloc_irq_vectors() which reaches\npci_msi_get_device_domain().  That function checks pdev-\u003edev.msi.domain\nthen pdev-\u003edev.parent-\u003emsi.domain (the bus device).  Both are NULL for\nour synthetic host bridge, so pci_alloc_irq_vectors() returns -ENOTSUPP\n(-524) and nvme probe aborts before any /dev/nvme* node is created.\n\nThis change implements a per-host software PCI MSI-X interrupt domain\nfollowing the same pattern as the fake PCI and IOMMU domains already in\nthe tree.  A new file fake_pci_sriov_msi.c registers a two-level\nirq_domain hierarchy on the host bridge device before pci_host_probe()\nruns, so the kernel\u0027s pci_set_bus_msi_domain() (called from\npci_scan_root_bus_bridge() inside pci_host_probe()) reads the domain\nfrom the bridge device and propagates it to the root bus.  VFs created\nlater by pci_enable_sriov() inherit the domain from the bus via\npci_msi_get_device_domain() -\u003e dev_get_msi_domain(pdev-\u003edev.parent)\nautomatically — no bus notifier or device_reprobe() is required.\n\n* fake_pci_sriov_msi.c: new file; a linear parent irq_domain allocates\n  virtual IRQ descriptors via irq_domain_set_info(handle_simple_irq);\n  a PCI MSI child domain (pci_msi_create_irq_domain) provides MSI-X\n  semantics; the parent chip implements irq_compose_msi_msg (required\n  by msi_domain_activate to avoid BUG_ON) and irq_set_affinity\n  (required by irq_startup -\u003e __setup_irq -\u003e request_irq) returning\n  no-op / IRQ_SET_MASK_OK values since interrupt delivery is software-\n  only via generic_handle_irq_safe() from the poll kthread;\n  pci_sim_msi_domain_init() must be called before pci_host_probe() and\n  pci_sim_msi_domain_fini() before pci_stop_root_bus()\n\n* fake_pci_sriov.h: add msi_fwnode, msi_parent, msi_domain fields to\n  struct fake_pci_host; add pci_sim_msi_domain_init/fini declarations;\n  remove unused sw_irq field\n\n* fake_pci_sriov_core.c: wire pci_sim_msi_domain_init() before\n  pci_host_probe() and pci_sim_msi_domain_fini() in host_remove and\n  error paths\n\n* Makefile: add fake_pci_sriov_msi.o in alphabetical order\n\n* test_pci_sim_nvme_host.sh: replace Phase 1 char-device false-positive\n  check with pci_sim_nvme_host driver-bind check so stock nvme\n  controller char devices (/dev/nvmeN) are not mistaken for Phase 1\n  artefacts\n\n* testing.rst: clarify that only a subset of MSI-X domain requirements\n  are automated; MSI-X vector verification and dmesg probe-failure\n  checks remain manual steps\n\nGenerated-By: Claude Opus 4.6\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\nChange-Id: I491654bfc75cfbe2043edb1ff4359368a0967237\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/adbfa021c2a161eb97d910a4058f3ce93b463b3b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/adbfa021c2a161eb97d910a4058f3ce93b463b3b"}]},"branch":"refs/heads/master"},"18bafddcd9b3c6709c8d7da065f63ccc1867d868":{"kind":"TRIVIAL_REBASE","_number":10,"created":"2026-09-09 06:42:58.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/55/1003255/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/55/1003255/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/10"}}},"commit":{"parents":[{"commit":"38d27c8b1a85aca071f83f12e33978cfff36c63a","subject":"pci-sim: add NVMe VFIO guest probe and host handoff","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/38d27c8b1a85aca071f83f12e33978cfff36c63a"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-06 05:16:37.000000000","tz":330},"committer":{"name":"Chandan","email":"chkumar@redhat.com","date":"2026-09-09 06:40:16.000000000","tz":330},"subject":"pci-sim: add software MSI-X domain to fake host bridge","message":"pci-sim: add software MSI-X domain to fake host bridge\n\nThe stock nvme driver calls pci_alloc_irq_vectors() which reaches\npci_msi_get_device_domain().  That function checks pdev-\u003edev.msi.domain\nthen pdev-\u003edev.parent-\u003emsi.domain (the bus device).  Both are NULL for\nour synthetic host bridge, so pci_alloc_irq_vectors() returns -ENOTSUPP\n(-524) and nvme probe aborts before any /dev/nvme* node is created.\n\nThis change implements a per-host software PCI MSI-X interrupt domain\nfollowing the same pattern as the fake PCI and IOMMU domains already in\nthe tree.  A new file fake_pci_sriov_msi.c registers a two-level\nirq_domain hierarchy on the host bridge device before pci_host_probe()\nruns, so the kernel\u0027s pci_set_bus_msi_domain() (called from\npci_scan_root_bus_bridge() inside pci_host_probe()) reads the domain\nfrom the bridge device and propagates it to the root bus.  VFs created\nlater by pci_enable_sriov() inherit the domain from the bus via\npci_msi_get_device_domain() -\u003e dev_get_msi_domain(pdev-\u003edev.parent)\nautomatically — no bus notifier or device_reprobe() is required.\n\n* fake_pci_sriov_msi.c: new file; a linear parent irq_domain allocates\n  virtual IRQ descriptors via irq_domain_set_info(handle_simple_irq);\n  a PCI MSI child domain (pci_msi_create_irq_domain) provides MSI-X\n  semantics; the parent chip implements irq_compose_msi_msg (required\n  by msi_domain_activate to avoid BUG_ON) and irq_set_affinity\n  (required by irq_startup -\u003e __setup_irq -\u003e request_irq) returning\n  no-op / IRQ_SET_MASK_OK values since interrupt delivery is software-\n  only via generic_handle_irq_safe() from the poll kthread;\n  pci_sim_msi_domain_init() must be called before pci_host_probe() and\n  pci_sim_msi_domain_fini() before pci_stop_root_bus()\n\n* fake_pci_sriov.h: add msi_fwnode, msi_parent, msi_domain fields to\n  struct fake_pci_host; add pci_sim_msi_domain_init/fini declarations;\n  remove unused sw_irq field\n\n* fake_pci_sriov_core.c: wire pci_sim_msi_domain_init() before\n  pci_host_probe() and pci_sim_msi_domain_fini() in host_remove and\n  error paths\n\n* Makefile: add fake_pci_sriov_msi.o in alphabetical order\n\n* test_pci_sim_nvme_host.sh: replace Phase 1 char-device false-positive\n  check with pci_sim_nvme_host driver-bind check so stock nvme\n  controller char devices (/dev/nvmeN) are not mistaken for Phase 1\n  artefacts\n\n* testing.rst: clarify that only a subset of MSI-X domain requirements\n  are automated; MSI-X vector verification and dmesg probe-failure\n  checks remain manual steps\n\nGenerated-By: Claude Opus 4.6\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\nChange-Id: I491654bfc75cfbe2043edb1ff4359368a0967237\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/18bafddcd9b3c6709c8d7da065f63ccc1867d868"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/18bafddcd9b3c6709c8d7da065f63ccc1867d868"}]},"branch":"refs/heads/master"},"de3e87000df23f090ee90684d57fbad54ca3caba":{"kind":"TRIVIAL_REBASE","_number":11,"created":"2026-09-09 15:08:36.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/55/1003255/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/55/1003255/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/55/1003255/11"}}},"commit":{"parents":[{"commit":"e4eb4ec4c317e6b5ae3822c00fbec4d6d6927ae0","subject":"pci-sim: add NVMe VFIO guest probe and host handoff","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/e4eb4ec4c317e6b5ae3822c00fbec4d6d6927ae0"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-06 05:16:37.000000000","tz":330},"committer":{"name":"Chandan","email":"chkumar@redhat.com","date":"2026-09-09 10:20:42.000000000","tz":330},"subject":"pci-sim: add software MSI-X domain to fake host bridge","message":"pci-sim: add software MSI-X domain to fake host bridge\n\nThe stock nvme driver calls pci_alloc_irq_vectors() which reaches\npci_msi_get_device_domain().  That function checks pdev-\u003edev.msi.domain\nthen pdev-\u003edev.parent-\u003emsi.domain (the bus device).  Both are NULL for\nour synthetic host bridge, so pci_alloc_irq_vectors() returns -ENOTSUPP\n(-524) and nvme probe aborts before any /dev/nvme* node is created.\n\nThis change implements a per-host software PCI MSI-X interrupt domain\nfollowing the same pattern as the fake PCI and IOMMU domains already in\nthe tree.  A new file fake_pci_sriov_msi.c registers a two-level\nirq_domain hierarchy on the host bridge device before pci_host_probe()\nruns, so the kernel\u0027s pci_set_bus_msi_domain() (called from\npci_scan_root_bus_bridge() inside pci_host_probe()) reads the domain\nfrom the bridge device and propagates it to the root bus.  VFs created\nlater by pci_enable_sriov() inherit the domain from the bus via\npci_msi_get_device_domain() -\u003e dev_get_msi_domain(pdev-\u003edev.parent)\nautomatically — no bus notifier or device_reprobe() is required.\n\n* fake_pci_sriov_msi.c: new file; a linear parent irq_domain allocates\n  virtual IRQ descriptors via irq_domain_set_info(handle_simple_irq);\n  a PCI MSI child domain (pci_msi_create_irq_domain) provides MSI-X\n  semantics; the parent chip implements irq_compose_msi_msg (required\n  by msi_domain_activate to avoid BUG_ON) and irq_set_affinity\n  (required by irq_startup -\u003e __setup_irq -\u003e request_irq) returning\n  no-op / IRQ_SET_MASK_OK values since interrupt delivery is software-\n  only via generic_handle_irq_safe() from the poll kthread;\n  pci_sim_msi_domain_init() must be called before pci_host_probe() and\n  pci_sim_msi_domain_fini() before pci_stop_root_bus()\n\n* fake_pci_sriov.h: add msi_fwnode, msi_parent, msi_domain fields to\n  struct fake_pci_host; add pci_sim_msi_domain_init/fini declarations;\n  remove unused sw_irq field\n\n* fake_pci_sriov_core.c: wire pci_sim_msi_domain_init() before\n  pci_host_probe() and pci_sim_msi_domain_fini() in host_remove and\n  error paths\n\n* Makefile: add fake_pci_sriov_msi.o in alphabetical order\n\n* test_pci_sim_nvme_host.sh: replace Phase 1 char-device false-positive\n  check with pci_sim_nvme_host driver-bind check so stock nvme\n  controller char devices (/dev/nvmeN) are not mistaken for Phase 1\n  artefacts\n\n* testing.rst: clarify that only a subset of MSI-X domain requirements\n  are automated; MSI-X vector verification and dmesg probe-failure\n  checks remain manual steps\n\nGenerated-By: Claude Opus 4.6\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\nChange-Id: I491654bfc75cfbe2043edb1ff4359368a0967237\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/de3e87000df23f090ee90684d57fbad54ca3caba"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/de3e87000df23f090ee90684d57fbad54ca3caba"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
