)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"37f66b1a9b288cb5ced84b605e44a79e026e9b1d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"734d81ba_1a468875","updated":"2026-03-04 14:36:36.000000000","message":"Hey Hongp, thanks for your contribution. This change affects a very sensitive part of the code. Although it\u0027s just one line, the side effects are a bit hard to predict. I would like to see a few unit tests emulating the scenario you described as failing, and then apply your change to ensure it passes.","commit_id":"5e6486dc591beacdf948921b2cc64889e2204140"},{"author":{"_account_id":36686,"name":"Inyong Hong","display_name":"hongp","email":"inyong.hong@samsung.com","username":"hong-p"},"change_message_id":"d4f1a9c6747f1d2bb38309b1381fc1ba1414cab0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d237c228_e5312d8e","in_reply_to":"734d81ba_1a468875","updated":"2026-03-05 14:59:14.000000000","message":"ack","commit_id":"5e6486dc591beacdf948921b2cc64889e2204140"},{"author":{"_account_id":36686,"name":"Inyong Hong","display_name":"hongp","email":"inyong.hong@samsung.com","username":"hong-p"},"change_message_id":"dd24a537063e96aeb2e29e568b1cf6bd40358829","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c6bb7aa9_782cc3b6","in_reply_to":"d237c228_e5312d8e","updated":"2026-03-11 03:40:44.000000000","message":"@erlon.rodrigues.cruz@canonical.com I have added the unit test as per your feedback. Verified that the test reproduces the issue (fails) without the fix and passes successfully with the patch. Ready for your review.","commit_id":"5e6486dc591beacdf948921b2cc64889e2204140"},{"author":{"_account_id":36686,"name":"Inyong Hong","display_name":"hongp","email":"inyong.hong@samsung.com","username":"hong-p"},"change_message_id":"2bfa57bf2568b5df59b85a6b0b73993aa6dece43","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a057bf0f_5e7b8643","updated":"2026-03-06 06:35:10.000000000","message":"Erlon, thanks for your feedback. I\u0027ve added a test case.\n\nIn this test, I implemented a flow where a snapshot is created and deleted in a different project. I avoided the \u0027transfer\u0027 or \u0027revert\u0027 flows because transferring a volume after a snapshot is created (and then deleted) can cause cascade deletion failures in the original project.","commit_id":"914dae87fb038fc5d9c2c80b0691f6f517520f44"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"5d8435fc5fc0a8b9766fd28a0278b7eacbdf866e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8993750a_311d10fa","updated":"2026-03-06 14:44:45.000000000","message":"Forgot the +1 with the review.","commit_id":"914dae87fb038fc5d9c2c80b0691f6f517520f44"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"3359e768fed079240ad42fdd99e58f34b9e5163a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"04f0d464_5e7f0971","updated":"2026-03-18 17:16:04.000000000","message":"Tested locally and this appears to work.  Tests, release note, CI all look okay.  I\"m not a database expert though.  As best I can tell this is a good patch.","commit_id":"914dae87fb038fc5d9c2c80b0691f6f517520f44"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"c44409f7e4dccb26470b75d957bb6e3298cad7ea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d2af70ed_5095f03d","updated":"2026-03-06 14:44:00.000000000","message":"This patch LGTM in terms of just reading it.  I don\u0027t fully understand the internals here, though, so this is not a directly functional review.","commit_id":"914dae87fb038fc5d9c2c80b0691f6f517520f44"},{"author":{"_account_id":36686,"name":"Inyong Hong","display_name":"hongp","email":"inyong.hong@samsung.com","username":"hong-p"},"change_message_id":"cc67ecd33ce40ae544495f676644a721cec21b30","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"f1979947_80fe366c","updated":"2026-03-07 04:16:05.000000000","message":"recheck","commit_id":"914dae87fb038fc5d9c2c80b0691f6f517520f44"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"43dc6d5cc88342e4fc3f6b39e98ab29cd2287f32","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"35b047c9_f29a8f5e","updated":"2026-03-06 14:47:59.000000000","message":"recheck - looks like the pep8, unit test jobs are working now","commit_id":"914dae87fb038fc5d9c2c80b0691f6f517520f44"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"88858f3e4e25628b40bd8234a3afadad6cac2ac2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"27750977_3479911c","updated":"2026-03-18 14:31:24.000000000","message":"run-Quobyte CI","commit_id":"914dae87fb038fc5d9c2c80b0691f6f517520f44"},{"author":{"_account_id":36686,"name":"Inyong Hong","display_name":"hongp","email":"inyong.hong@samsung.com","username":"hong-p"},"change_message_id":"15fa836bb0fb5599ddcb1ee3dace791590691687","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"752f5188_8453fa28","in_reply_to":"d2af70ed_5095f03d","updated":"2026-03-08 08:42:35.000000000","message":"Thanks for the review! I\u0027ve verified this with both unit tests and Tempest, and everything is working as expected. And also currently using these changes in our  environment without any issues.","commit_id":"914dae87fb038fc5d9c2c80b0691f6f517520f44"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"b5dfea7bd51490293f01accfe5d6aa3cb999584c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"8251f628_6b412cfc","updated":"2026-04-17 15:43:46.000000000","message":"LGTM. So the expected behaviour of that method is to return the volumes that have snapshots tied to other projects to make the cascade volume deletion work.","commit_id":"81b5a70d592baeba684ce5e862ae008cb2944291"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"9601bdb7fc5a45ff8eab8bb94cc933e451227674","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c7a8c381_3f392a3f","updated":"2026-04-17 15:44:49.000000000","message":"Provide my comment.","commit_id":"81b5a70d592baeba684ce5e862ae008cb2944291"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"76bc54f3fe224ff1ca33eadec5224e04fe684a8f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"d70d4e9a_64d98efe","updated":"2026-05-26 15:32:42.000000000","message":"LGTM","commit_id":"60eecdd195b4a0cb685d0f028bc5435efa56e915"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"13ef21cd66e8603568dc8da43f7a03c45ec7f7f5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5f880a5b_26d25b3f","updated":"2026-05-15 14:45:23.000000000","message":"Restoring my previous vote, still looks okay to me.","commit_id":"60eecdd195b4a0cb685d0f028bc5435efa56e915"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"7f9e14bbb4fda4410d451a141942bfa12275b957","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"236012f0_21d0a929","updated":"2026-05-15 07:50:16.000000000","message":"looks good, just a suggestion to add a functional to see end-to-end flow.","commit_id":"60eecdd195b4a0cb685d0f028bc5435efa56e915"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"6180892fe6e19e6eeaca7b6c5ae2276d321ee9bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"4011b531_7bd1807d","updated":"2026-05-28 01:31:22.000000000","message":"recheck","commit_id":"60eecdd195b4a0cb685d0f028bc5435efa56e915"}],"cinder/db/sqlalchemy/api.py":[{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"9601bdb7fc5a45ff8eab8bb94cc933e451227674","unresolved":true,"context_lines":[{"line_number":3440,"context_line":"def volume_has_other_project_snp_filter():"},{"line_number":3441,"context_line":"    return sql.exists().where("},{"line_number":3442,"context_line":"        and_("},{"line_number":3443,"context_line":"            ~models.Snapshot.deleted,"},{"line_number":3444,"context_line":"            models.Volume.id \u003d\u003d models.Snapshot.volume_id,"},{"line_number":3445,"context_line":"            models.Volume.project_id !\u003d models.Snapshot.project_id,"},{"line_number":3446,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"3271a721_cf17f524","line":3443,"range":{"start_line":3443,"start_character":12,"end_line":3443,"end_character":37},"updated":"2026-04-17 15:44:49.000000000","message":"This change excludes deleted snapshots, but the fix description claims it fix the cascade issue for non-admin users. How does this fix address the issue for non-admin users.","commit_id":"81b5a70d592baeba684ce5e862ae008cb2944291"},{"author":{"_account_id":36686,"name":"Inyong Hong","display_name":"hongp","email":"inyong.hong@samsung.com","username":"hong-p"},"change_message_id":"568a37583a6d739d144b07ff02aa33cc5eeb9df7","unresolved":true,"context_lines":[{"line_number":3440,"context_line":"def volume_has_other_project_snp_filter():"},{"line_number":3441,"context_line":"    return sql.exists().where("},{"line_number":3442,"context_line":"        and_("},{"line_number":3443,"context_line":"            ~models.Snapshot.deleted,"},{"line_number":3444,"context_line":"            models.Volume.id \u003d\u003d models.Snapshot.volume_id,"},{"line_number":3445,"context_line":"            models.Volume.project_id !\u003d models.Snapshot.project_id,"},{"line_number":3446,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"5d67e08d_ffb5c2ea","line":3443,"range":{"start_line":3443,"start_character":12,"end_line":3443,"end_character":37},"in_reply_to":"3271a721_cf17f524","updated":"2026-04-19 06:46:53.000000000","message":"@gawasthi2010@gmail.com thanks for the review. To clarify, this function is specifically called at [cinder/volume/api.py:495]  to check if a volume can be deleted.\n\nThe issue was that even when snapshots were already soft-deleted especially those from other projects, they were still being retrieved by this DB query. This caused the validation logic to incorrectly determine that \u0027active\u0027 snapshots still existed, blocking the volume deletion with a dependency error.\n\nBy adding `~models.Snapshot.deleted` to the filter, we ensure that only actual, non-deleted snapshots are considered. This allows non-admin users to delete their volumes successfully without being blocked by soft-deleted records that they shouldn\u0027t be seeing as active dependencies.\n\n[cinder/volume/api.py:495]: https://opendev.org/openstack/cinder/src/commit/c84f0e05ce4b7c6afffa4616ae5f01711f2a7626/cinder/volume/api.py#L495","commit_id":"81b5a70d592baeba684ce5e862ae008cb2944291"}],"cinder/tests/unit/volume/test_volume.py":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"05d3f117dc5067beb95b4c89aa421233bfb67808","unresolved":true,"context_lines":[{"line_number":3454,"context_line":"                          volume,"},{"line_number":3455,"context_line":"                          cascade\u003dTrue)"},{"line_number":3456,"context_line":"        mock_api_clean.assert_called_once_with(volume.id)"},{"line_number":3457,"context_line":""},{"line_number":3458,"context_line":"    @mock.patch.object(driver.BaseVD, \u0027get_backup_device\u0027)"},{"line_number":3459,"context_line":"    @mock.patch.object(driver.BaseVD, \u0027secure_file_operations_enabled\u0027)"},{"line_number":3460,"context_line":"    def test_get_backup_device(self, mock_secure, mock_get_backup):"}],"source_content_type":"text/x-python","patch_set":7,"id":"4355ee1b_d3439927","line":3457,"updated":"2026-05-14 11:03:30.000000000","message":"+1 on test coverage, thanks\n\nthough tests steps are showing bug being fixed, IMO the steps are kind of confusing also they are not aligned with reproducer in bug report as well.\n\n```\nSteps to Reproduce:\n 1.As a project member (non-admin user), create a new volume.\n 2.Create a snapshot from the volume.\n 3.Revert the volume to the snapshot.\n 4.Transfer the volume to another project/tenant.\n 5.Attempt to delete the volume with cascade\u003dtrue.\n```\n\nthis skips 3 and 4. at 5 deletes and only verify  mock_api_clean was called.\nthere\u0027s no clear assertion that if active snapshot was actually deleted during by passing cascade.\n\n---\n\nI think this simple scenario is suffice.\n\n```\n1. Create a volume as a (non admin)member user\n2. Create 2-3 snapshots from that volume\n3. Perform cascade delete on the volume (cascade\u003dTrue)\n4. Verify the volume is deleted\n5. Verify all snapshots are deleted\n```","commit_id":"81b5a70d592baeba684ce5e862ae008cb2944291"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"7f9e14bbb4fda4410d451a141942bfa12275b957","unresolved":true,"context_lines":[{"line_number":3454,"context_line":"                          volume,"},{"line_number":3455,"context_line":"                          cascade\u003dTrue)"},{"line_number":3456,"context_line":"        mock_api_clean.assert_called_once_with(volume.id)"},{"line_number":3457,"context_line":""},{"line_number":3458,"context_line":"    @mock.patch.object(driver.BaseVD, \u0027get_backup_device\u0027)"},{"line_number":3459,"context_line":"    @mock.patch.object(driver.BaseVD, \u0027secure_file_operations_enabled\u0027)"},{"line_number":3460,"context_line":"    def test_get_backup_device(self, mock_secure, mock_get_backup):"}],"source_content_type":"text/x-python","patch_set":7,"id":"db59d0e2_e71bcfda","line":3457,"in_reply_to":"2572bbb6_aff9c624","updated":"2026-05-15 07:50:16.000000000","message":"thanks, this is fair improvement with better assertion.\n\nhowever, the test still doestn\u0027t fully verify cascade delete behaviour, mocking makes it somewhat hard to verify the complete bhaviour, also cascade\u003dfalse would keep snapshots (negative) test missing.\n\nI think this is might be limitation of unit tests, it do not alow us to see end-to-end flow.\n\nSuggestion: move or have another functional test, where you can test the real workflow with minimal mocking, there is already an fine example https://github.com/openstack/cinder/blob/master/cinder/tests/functional/test_volumes.py#L226\n\nthat test can show creating vol, snapshots, deletion with cascade\u003dtrue and then verify all snapshots are gone","commit_id":"81b5a70d592baeba684ce5e862ae008cb2944291"},{"author":{"_account_id":36686,"name":"Inyong Hong","display_name":"hongp","email":"inyong.hong@samsung.com","username":"hong-p"},"change_message_id":"3df2cbc81461a0c06ca13a83d0e22f4a4a0c85f7","unresolved":true,"context_lines":[{"line_number":3454,"context_line":"                          volume,"},{"line_number":3455,"context_line":"                          cascade\u003dTrue)"},{"line_number":3456,"context_line":"        mock_api_clean.assert_called_once_with(volume.id)"},{"line_number":3457,"context_line":""},{"line_number":3458,"context_line":"    @mock.patch.object(driver.BaseVD, \u0027get_backup_device\u0027)"},{"line_number":3459,"context_line":"    @mock.patch.object(driver.BaseVD, \u0027secure_file_operations_enabled\u0027)"},{"line_number":3460,"context_line":"    def test_get_backup_device(self, mock_secure, mock_get_backup):"}],"source_content_type":"text/x-python","patch_set":7,"id":"2572bbb6_aff9c624","line":3457,"in_reply_to":"4355ee1b_d3439927","updated":"2026-05-14 15:21:54.000000000","message":"Thanks for the review. You\u0027re right — the assertion for active snapshot deletion was missing. Added SnapshotNotFound assertion to explicitly verify the cascade result.\n\nI kept the cross-project deleted-snapshot scenario rather than switching to a generic multi-snapshot test because this test is specifically targeting the edge case that caused the bug: a soft-deleted snapshot from another project coexisting with an active snapshot. A generic multi-snapshot test would not cover this specific condition.","commit_id":"81b5a70d592baeba684ce5e862ae008cb2944291"},{"author":{"_account_id":36686,"name":"Inyong Hong","display_name":"hongp","email":"inyong.hong@samsung.com","username":"hong-p"},"change_message_id":"619496278acab1f2b5a1679a6687b199d18653bf","unresolved":true,"context_lines":[{"line_number":3454,"context_line":"                          volume,"},{"line_number":3455,"context_line":"                          cascade\u003dTrue)"},{"line_number":3456,"context_line":"        mock_api_clean.assert_called_once_with(volume.id)"},{"line_number":3457,"context_line":""},{"line_number":3458,"context_line":"    @mock.patch.object(driver.BaseVD, \u0027get_backup_device\u0027)"},{"line_number":3459,"context_line":"    @mock.patch.object(driver.BaseVD, \u0027secure_file_operations_enabled\u0027)"},{"line_number":3460,"context_line":"    def test_get_backup_device(self, mock_secure, mock_get_backup):"}],"source_content_type":"text/x-python","patch_set":7,"id":"f3be0d45_a52fc252","line":3457,"in_reply_to":"db59d0e2_e71bcfda","updated":"2026-05-15 15:31:01.000000000","message":"Agreed on the functional test — I\u0027ll address it in a follow-up patch to keep this fix scoped. This bug has been open since last September and the core fix is solid. Would you be okay with merging this and tracking the functional test separately?","commit_id":"81b5a70d592baeba684ce5e862ae008cb2944291"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fd56c2d39c10536f2755a43d8cb7e443fa40a356","unresolved":true,"context_lines":[{"line_number":3454,"context_line":"                          volume,"},{"line_number":3455,"context_line":"                          cascade\u003dTrue)"},{"line_number":3456,"context_line":"        mock_api_clean.assert_called_once_with(volume.id)"},{"line_number":3457,"context_line":""},{"line_number":3458,"context_line":"    @mock.patch.object(driver.BaseVD, \u0027get_backup_device\u0027)"},{"line_number":3459,"context_line":"    @mock.patch.object(driver.BaseVD, \u0027secure_file_operations_enabled\u0027)"},{"line_number":3460,"context_line":"    def test_get_backup_device(self, mock_secure, mock_get_backup):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ec68b103_a8936426","line":3457,"in_reply_to":"f3be0d45_a52fc252","updated":"2026-05-16 03:11:49.000000000","message":"Fair point on wanting to merge this patch — the fix itself is correct.\n\nthat said, I still feel the unit test doesn\u0027t clearly verify the complete cascade delete behavior for a core cinder change.\nI would be more comfortable with functional test coverage, but I\u0027m not blocking.\n\nI see @jobernar@redhat.com is +2 we need one more +2","commit_id":"81b5a70d592baeba684ce5e862ae008cb2944291"}],"releasenotes/notes/fixed_issue_deleting_a_volume_with_cascade-a2feefba5234a4b8.yaml":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"839f3d314e53d870a6784f2a55dcbae65e34166c","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixed an issue where deleting a volume with ``cascade\u003dtrue`` failed"},{"line_number":5,"context_line":"    for member users after a snapshot revert followed by a transfer."},{"line_number":6,"context_line":"    Admin users could still perform cascade deletion (including across"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"a84be2c3_364a047e","line":3,"updated":"2026-04-14 20:42:32.000000000","message":"Please mention bug 2125312 in the release note here.","commit_id":"914dae87fb038fc5d9c2c80b0691f6f517520f44"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"05d3f117dc5067beb95b4c89aa421233bfb67808","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixed an issue where deleting a volume with ``cascade\u003dtrue`` failed"},{"line_number":5,"context_line":"    for member users after a snapshot revert followed by a transfer."},{"line_number":6,"context_line":"    Admin users could still perform cascade deletion (including across"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"965e4ab1_8f3f8073","line":3,"in_reply_to":"71bd98f2_b02ee5ef","updated":"2026-05-14 11:03:30.000000000","message":"its fine but, missing `#`\n\ncheck https://docs.openstack.org/cinder/latest/contributor/releasenotes.html#fixing-a-release-note","commit_id":"914dae87fb038fc5d9c2c80b0691f6f517520f44"},{"author":{"_account_id":36686,"name":"Inyong Hong","display_name":"hongp","email":"inyong.hong@samsung.com","username":"hong-p"},"change_message_id":"3df2cbc81461a0c06ca13a83d0e22f4a4a0c85f7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixed an issue where deleting a volume with ``cascade\u003dtrue`` failed"},{"line_number":5,"context_line":"    for member users after a snapshot revert followed by a transfer."},{"line_number":6,"context_line":"    Admin users could still perform cascade deletion (including across"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"543457bb_ceb12900","line":3,"in_reply_to":"965e4ab1_8f3f8073","updated":"2026-05-14 15:21:54.000000000","message":"Acknowledged","commit_id":"914dae87fb038fc5d9c2c80b0691f6f517520f44"},{"author":{"_account_id":36686,"name":"Inyong Hong","display_name":"hongp","email":"inyong.hong@samsung.com","username":"hong-p"},"change_message_id":"b0be97b76d276fb84862f12bc933d31004067a1b","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixed an issue where deleting a volume with ``cascade\u003dtrue`` failed"},{"line_number":5,"context_line":"    for member users after a snapshot revert followed by a transfer."},{"line_number":6,"context_line":"    Admin users could still perform cascade deletion (including across"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"71bd98f2_b02ee5ef","line":3,"in_reply_to":"a84be2c3_364a047e","updated":"2026-04-15 02:09:33.000000000","message":"@eharney@redhat.com I added it, thanks","commit_id":"914dae87fb038fc5d9c2c80b0691f6f517520f44"}]}
