)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3101cf4384d3ac3af07e157da2915b340594cbdc","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"DocImpact"},{"line_number":43,"context_line":"Change-Id: Ic746ebbac2c0f9ab66b5082d3c0bfa37830b3d94"},{"line_number":44,"context_line":"Closes-Bug: 2127196"},{"line_number":45,"context_line":"Signed-off-by: Zachary Raines \u003czachary.raines@canonical.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"bc718278_b3f7c9ce","line":44,"updated":"2026-02-03 15:25:19.000000000","message":"this to me is a feature not a bug so it porbly shoudl not be backported.\n\ni dont know if we will backport the nova fix for this or just do that on master","commit_id":"d2c586adb4b3c5d3d5f2128a83b9f1b5454be9e1"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"e304eb0c0bf75cddedd8a047e3c37c755daa4638","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"DocImpact"},{"line_number":43,"context_line":"Change-Id: Ic746ebbac2c0f9ab66b5082d3c0bfa37830b3d94"},{"line_number":44,"context_line":"Closes-Bug: 2127196"},{"line_number":45,"context_line":"Signed-off-by: Zachary Raines \u003czachary.raines@canonical.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"f23db2bc_4f58fbdf","line":44,"in_reply_to":"bc718278_b3f7c9ce","updated":"2026-02-03 15:31:47.000000000","message":"I think it\u0027s somewhat of a gray area. The motivation for a backport is that this fixes a performance issue on Windows guest VMs, i.e., the linked bug (https://bugs.launchpad.net/cinder/+bug/2127196). But I can also see the argument that it\u0027s a feature.","commit_id":"d2c586adb4b3c5d3d5f2128a83b9f1b5454be9e1"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a9669456c90db1944adfd496b81a7cb4e2bae0a9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e570e237_0c3f4236","updated":"2021-11-20 14:22:34.000000000","message":"@Trent:\n\nThanks for the update.  I still encourage you to come to the midcycle video meeting and you can ask for pointers (people can indicate exactly which classes need to be modified) and implementation help (Ceph has a large user community, so there should be some interest in helping you out).  It\u0027s also good to know that you actually have this working in your deployment, so it would be good to talk about that a bit, too.  The midcycle is 1 December 1400-1600 UTC; you can add your topic to the planning page: https://etherpad.opendev.org/p/cinder-yoga-midcycles","commit_id":"be03725203de70187b50356db4a85abf8ae0c078"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"4ddb54442577be0d15612ddd7bea470c9488762f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ca4dd669_16188b07","updated":"2022-02-04 08:31:15.000000000","message":"Hey Trent,\n\nwe just looked at some Windows VMs with lower than expected I/O performance.\n\nI then immediately thought of your improvement suggestion and the discussion during the Cinder Yoga mid-cycle meeting (https://etherpad.opendev.org/p/cinder-yoga-midcycles#L133)\n\nAre you still pursuing this in any way if I may ask?","commit_id":"be03725203de70187b50356db4a85abf8ae0c078"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"bc5401b442399e6a2dd6211cb5cae892909b188d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"be103425_0e6685f0","updated":"2021-11-11 15:27:31.000000000","message":"Trent, the cinder project is definitely interested in this idea.  We\u0027d like to have some discussion about Eric and Jon\u0027s points that a better place to do this might be higher up so that it can be used by multiple drivers.  Also, it will probably require some coordination with Nova and Glance (or a discussion of why that isn\u0027t a concern).\n\nThe cinder yoga midcycle-1 meeting is on 1 December (time will be around 1400 UTC, not yet set).  If you are interested in pursuing this, please add it to the planning etherpad:\nhttps://etherpad.opendev.org/p/cinder-yoga-midcycles\n\nThanks!","commit_id":"be03725203de70187b50356db4a85abf8ae0c078"},{"author":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"change_message_id":"b96c66bc2716ab13aed3d3dbd82a4a2514dafb50","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"059b3fd8_a32fff6b","in_reply_to":"be103425_0e6685f0","updated":"2021-11-19 03:30:00.000000000","message":"Thanks Brian. I originally tried to shift it out of the Ceph driver after the review comments but got a bit lost in all the class inheritence and since we ended up working around it different for the actual deployment I just didn\u0027t get back to it which is my bad. I will propose it for Xena and hopefully I can either figure it out or get some mentorship from someone to get it moved :) If you can advise anyone that I might be able to reach out to for any help that\u0027d be great!","commit_id":"be03725203de70187b50356db4a85abf8ae0c078"},{"author":{"_account_id":19298,"name":"Nicolas Bock","email":"nicolas.bock@canonical.com","username":"nicolasbock"},"change_message_id":"ecb8c587aecdcad4c00ccf394f98923523196e11","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"de3a531c_a5ddf3ea","updated":"2025-09-23 20:42:04.000000000","message":"LGTM","commit_id":"45f74011d7d1a5a4d55743cbca3c6f32f52f3b94"},{"author":{"_account_id":37923,"name":"anthony gamboa","display_name":"Anthony Gamboa","email":"anthony.gamboa@hitachivantara.com","username":"anthonygamboa","status":"Hitachi Vantara Software Developer"},"change_message_id":"3b18bf45fe10519dd3e283d13eb855507ba352c8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1f4d92fb_09426add","updated":"2025-10-15 16:18:38.000000000","message":"[Hitachi] Reviewed code changes and all previously resolved comments. It looks to me that everything has been addressed, particularly the inclusion of unit tests for 512 and 4096, and I don\u0027t see anything else wrong ATM. \nreviewed on behalf of agalica","commit_id":"09bd98f3b42f6b3139e3dd203a9e2c43efd9f004"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"7ba4e0d860ec9f22137a3f860e5ada254c36a98d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"f3bf5d9c_a8e98651","updated":"2025-10-24 21:15:29.000000000","message":"Following discussion in the weekly meeting this is a first pass at lifting the disk geometry configuration up to the base driver level, so that we can more concretely discuss how to go forward.","commit_id":"7cf936c6697671100b1eb048dc86388f40c15754"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"2df6a80db0d56ad5d27c44e5229eef9801120def","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"20edc8c2_6d9d9de6","updated":"2025-10-28 17:08:51.000000000","message":"Nit about the config option definition noted inline.","commit_id":"7cf936c6697671100b1eb048dc86388f40c15754"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"8bde205e34210d396f48050841db5c0350f7e3e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"07105cc7_b3dd809b","updated":"2025-11-18 21:42:39.000000000","message":"recheck patch applies cleanly on top of master","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"e085f4efd6222af03ed22eeef06b8581cfffd76c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"d546592c_7483a3b1","updated":"2025-11-19 09:19:57.000000000","message":"run-Quobyte CI","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"75261d15defb3e90c52a6b74462f54bf94423001","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"f8817c47_9ba85917","updated":"2026-01-15 18:03:44.000000000","message":"LGTM","commit_id":"4cacb7c3a7f858b75bfcbc25930f55a8f0973e58"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"950c5859dffe9121638b866faafbd7fdb8e89711","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"072471a2_5c9b49f7","updated":"2025-11-26 14:29:39.000000000","message":"Looks good.","commit_id":"4cacb7c3a7f858b75bfcbc25930f55a8f0973e58"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"21cb17938f98438e426e43b5367bdbf5aca4dbc4","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":11,"id":"3048ea67_236105d1","updated":"2026-01-28 17:53:15.000000000","message":"Maybe I\u0027m being too conservative, but I think we need to introduce this option with the default value \u0027512\u0027 and say in the help text and release note that while the default value preserves current behavior, we recommend \u0027512e\u0027 and that \u0027512e\u0027 will become the default in the 2027.1 release.  You\u0027re probably correct that 512e won\u0027t cause issues, but operators have enough to do on an upgrade, so rather than have an upgrade-\u003eissue-\u003echange option back process, we can let them upgrade, try out 512e at their leisure, and then they will be ready for 2027.1 where they do nothing to continue with 512e, or make sure their deployment tooling has the option set to what they need.\n\nOne code thing I noticed noted inline; otherwise the code and tests LGTM.\n\nSince this patch has been sitting a while, and I\u0027m dumping more work on you, let me know if you want me to push the revision to default value, option help text, and release note that I outlined above.","commit_id":"4cacb7c3a7f858b75bfcbc25930f55a8f0973e58"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"563cca179ad5fe28c28f8e11bc8bd769b71aa4f9","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":11,"id":"182a6d94_64dc6cbd","in_reply_to":"2ad7d5b4_32198250","updated":"2026-01-28 21:25:31.000000000","message":"Exactly, and I think we should commit to doing this for the 2027.1 release.","commit_id":"4cacb7c3a7f858b75bfcbc25930f55a8f0973e58"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"9eb9606989d65499997a630b0903f0fff349b165","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":11,"id":"2ad7d5b4_32198250","in_reply_to":"3048ea67_236105d1","updated":"2026-01-28 19:24:42.000000000","message":"That seems reasonable. Just to be concrete the idea is set the default to \u0027512\u0027 when we first introduce the option and then change the default to \u0027512e\u0027 in a subsequent release?","commit_id":"4cacb7c3a7f858b75bfcbc25930f55a8f0973e58"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"563cca179ad5fe28c28f8e11bc8bd769b71aa4f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"3c4f1f4b_a48cdfba","updated":"2026-01-28 21:25:31.000000000","message":"Thanks for the quick revision.  I noticed a typo in the release note, and as long as you need to push another patch set, there are some suggestions for a few changes to the release note and the help text.  Otherwise, this looks great!","commit_id":"c92ff3da5ac5f5b203604c99c2b97dd51003a173"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"321f10a2edd6e58bef937311f09109f913048c43","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"f697e3a6_61008893","updated":"2026-01-29 07:49:12.000000000","message":"run-Quobyte CI","commit_id":"c92ff3da5ac5f5b203604c99c2b97dd51003a173"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5cd3734fb9ea5cc33986790fef3e1ec4ba41172b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"277f42bf_15dee72d","updated":"2026-01-30 16:35:22.000000000","message":"Revisions LGTM, thanks for the quick responses!","commit_id":"d2c586adb4b3c5d3d5f2128a83b9f1b5454be9e1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e1936ab35ce1dc483c1b2dcf98751e5ec2500b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"a4840e9f_611f6e68","updated":"2026-02-03 15:21:18.000000000","message":"this has broken nova-next by uncovering a latent bug in libvirt and nova.\n\ntldr the geometry options do not work with disk_type\u003dlun\nwe have mutli attach tempest test that explcity use that to test raw device mapping i.e. the abliyt to use scsi v3 command for doign block level sycornistaion of cluster file system which only works in lun mode.\n\nill file a nova bug for this but we are missign some testign on the cider side to have caught this before it merged.","commit_id":"d2c586adb4b3c5d3d5f2128a83b9f1b5454be9e1"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"0718f3ddaca8673c6c4e99cff1df9589168c61cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"6b4ced7d_6f44824c","in_reply_to":"a4840e9f_611f6e68","updated":"2026-02-03 15:26:48.000000000","message":"Thanks for the info. Can you link the bug here once it\u0027s created?","commit_id":"d2c586adb4b3c5d3d5f2128a83b9f1b5454be9e1"}],"cinder/volume/driver.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"2df6a80db0d56ad5d27c44e5229eef9801120def","unresolved":true,"context_lines":[{"line_number":257,"context_line":"               help\u003d\u0027Availability zone for this volume backend. If not set, \u0027"},{"line_number":258,"context_line":"                    \u0027the storage_availability_zone option value is used as \u0027"},{"line_number":259,"context_line":"                    \u0027the default for all backends.\u0027),"},{"line_number":260,"context_line":"    cfg.StrOpt(\u0027disk_geometry\u0027, default\u003d\u0027512e\u0027, choices\u003d[\u0027512\u0027, \u0027512e\u0027, \u00274k\u0027],"},{"line_number":261,"context_line":"               help\u003d\u0027Configure the reported geometry (physical, logical) \u0027"},{"line_number":262,"context_line":"                    \u0027block size as 512 native (512/512), \u0027"},{"line_number":263,"context_line":"                    \u0027512e emulated (4096/512) or 4k native (4096/4096). \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"816eeb3c_9281022c","line":260,"range":{"start_line":260,"start_character":48,"end_line":260,"end_character":77},"updated":"2025-10-28 17:08:51.000000000","message":"kind of a minor thing, but if you look at how this is rendered into the config file [0], you can see that you get \n\n```\n# Possible values:\n# 512 - \u003cNo description provided\u003e\n# 512e - \u003cNo description provided\u003e\n# 4k - \u003cNo description provided\u003e\n```\n\nwhich looks incomplete.  You can get a description in there if you define each of the \u0027choices\u0027 as a tuple of (value, description) like this:\n\n```\nchoices\u003d[(\u0027512\u0027,\n          \u0027512 native (512/512)\u0027),\n          (\u0027512e\u0027,\n           \u0027512 emulated (4096/512)\u0027),\n          (\u00274k\u0027,\n           \u00274k native (4096/4086)\u0027))],\n```\n\n[0] https://f3e11e61cbb35cb84889-397caf381a73cd99b004eb00bbac7fbc.ssl.cf1.rackcdn.com/openstack/1f9c7be8171949b08f67f91203c943d0/docs/configuration/block-storage/samples/cinder.conf.html","commit_id":"7cf936c6697671100b1eb048dc86388f40c15754"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"99197776f3d4c56e7d2edc9c7f2247a7b76350e9","unresolved":false,"context_lines":[{"line_number":257,"context_line":"               help\u003d\u0027Availability zone for this volume backend. If not set, \u0027"},{"line_number":258,"context_line":"                    \u0027the storage_availability_zone option value is used as \u0027"},{"line_number":259,"context_line":"                    \u0027the default for all backends.\u0027),"},{"line_number":260,"context_line":"    cfg.StrOpt(\u0027disk_geometry\u0027, default\u003d\u0027512e\u0027, choices\u003d[\u0027512\u0027, \u0027512e\u0027, \u00274k\u0027],"},{"line_number":261,"context_line":"               help\u003d\u0027Configure the reported geometry (physical, logical) \u0027"},{"line_number":262,"context_line":"                    \u0027block size as 512 native (512/512), \u0027"},{"line_number":263,"context_line":"                    \u0027512e emulated (4096/512) or 4k native (4096/4096). \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"7136c765_b197da11","line":260,"range":{"start_line":260,"start_character":48,"end_line":260,"end_character":77},"in_reply_to":"816eeb3c_9281022c","updated":"2025-11-19 15:13:43.000000000","message":"Done","commit_id":"7cf936c6697671100b1eb048dc86388f40c15754"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"563cca179ad5fe28c28f8e11bc8bd769b71aa4f9","unresolved":true,"context_lines":[{"line_number":265,"context_line":"                    \u0027an expensive read-modify-write of the smaller operation. \u0027"},{"line_number":266,"context_line":"                    \u0027512e is the recommended setting as 4k native can cause \u0027"},{"line_number":267,"context_line":"                    \u0027compatibility issues with some software and operating \u0027"},{"line_number":268,"context_line":"                    \u0027system versions.\u0027),"},{"line_number":269,"context_line":"]"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"# for backward compatibility"}],"source_content_type":"text/x-python","patch_set":12,"id":"e5696079_180b6862","line":268,"updated":"2026-01-28 21:25:31.000000000","message":"oslo.config doesn\u0027t have anything special to indicate a change in default value, but you can fake it by changing line 268 to\n\n```\n                    \u0027system versions.\u0027\n                    \u0027\\n\\nNOTE: the default value for this option will change \u0027\n                    \u0027to 512e beginning with the 2027.1 release.\\n\u0027),\n```\n\nIt won\u0027t get logged, like a deprecated option would, but between this and the release note, hopefully operators will get the message.","commit_id":"c92ff3da5ac5f5b203604c99c2b97dd51003a173"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3101cf4384d3ac3af07e157da2915b340594cbdc","unresolved":true,"context_lines":[{"line_number":245,"context_line":"               help\u003d\u0027Availability zone for this volume backend. If not set, \u0027"},{"line_number":246,"context_line":"                    \u0027the storage_availability_zone option value is used as \u0027"},{"line_number":247,"context_line":"                    \u0027the default for all backends.\u0027),"},{"line_number":248,"context_line":"    cfg.StrOpt(\u0027disk_geometry\u0027, default\u003d\u0027512\u0027,"},{"line_number":249,"context_line":"               choices\u003d[(\u0027512\u0027,"},{"line_number":250,"context_line":"                         \u0027512 native (512/512)\u0027),"},{"line_number":251,"context_line":"                        (\u0027512e\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"ca64536c_afdb80d7","line":248,"updated":"2026-02-03 15:25:19.000000000","message":"there probaly shoudl have been a config value to allow turning this off\nand that proably shoudl have been the default.","commit_id":"d2c586adb4b3c5d3d5f2128a83b9f1b5454be9e1"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"e304eb0c0bf75cddedd8a047e3c37c755daa4638","unresolved":true,"context_lines":[{"line_number":245,"context_line":"               help\u003d\u0027Availability zone for this volume backend. If not set, \u0027"},{"line_number":246,"context_line":"                    \u0027the storage_availability_zone option value is used as \u0027"},{"line_number":247,"context_line":"                    \u0027the default for all backends.\u0027),"},{"line_number":248,"context_line":"    cfg.StrOpt(\u0027disk_geometry\u0027, default\u003d\u0027512\u0027,"},{"line_number":249,"context_line":"               choices\u003d[(\u0027512\u0027,"},{"line_number":250,"context_line":"                         \u0027512 native (512/512)\u0027),"},{"line_number":251,"context_line":"                        (\u0027512e\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"0a9a9587_f263fcad","line":248,"in_reply_to":"ca64536c_afdb80d7","updated":"2026-02-03 15:31:47.000000000","message":"As in a setting where the block sizes are not set at all? That would not be hard to do. What do others think about this?","commit_id":"d2c586adb4b3c5d3d5f2128a83b9f1b5454be9e1"}],"cinder/volume/drivers/rbd.py":[{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"248d7c2752e1dfb18e8d33db170dd89eb4f08a63","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                    \u0027operation instead which will prevent Ceph needing to do \u0027"},{"line_number":138,"context_line":"                    \u0027an expensive read-modify-write of the smaller operation. \u0027"},{"line_number":139,"context_line":"                    \u0027512e is the recommended setting as 4k native can cause \u0027"},{"line_number":140,"context_line":"                    \u0027compatability issues with some software and operating \u0027"},{"line_number":141,"context_line":"                    \u0027system versions according to Microsoft KB 2510009.\u0027),"},{"line_number":142,"context_line":"]"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_a248792c","line":140,"range":{"start_line":140,"start_character":21,"end_line":140,"end_character":34},"updated":"2019-05-16 14:21:33.000000000","message":"compatibility","commit_id":"afe3da3ec84a0172cd4807884f706184b2cc0f0b"},{"author":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"change_message_id":"b96c66bc2716ab13aed3d3dbd82a4a2514dafb50","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                    \u0027operation instead which will prevent Ceph needing to do \u0027"},{"line_number":138,"context_line":"                    \u0027an expensive read-modify-write of the smaller operation. \u0027"},{"line_number":139,"context_line":"                    \u0027512e is the recommended setting as 4k native can cause \u0027"},{"line_number":140,"context_line":"                    \u0027compatability issues with some software and operating \u0027"},{"line_number":141,"context_line":"                    \u0027system versions according to Microsoft KB 2510009.\u0027),"},{"line_number":142,"context_line":"]"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_c8bb240c","line":140,"range":{"start_line":140,"start_character":21,"end_line":140,"end_character":34},"in_reply_to":"dfbec78f_a248792c","updated":"2021-11-19 03:30:00.000000000","message":"Done","commit_id":"afe3da3ec84a0172cd4807884f706184b2cc0f0b"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"248d7c2752e1dfb18e8d33db170dd89eb4f08a63","unresolved":false,"context_lines":[{"line_number":1396,"context_line":""},{"line_number":1397,"context_line":"        return keyring_data"},{"line_number":1398,"context_line":""},{"line_number":1399,"context_line":"    def _get_geometry(self):"},{"line_number":1400,"context_line":"        \"\"\"Returns the volume update required for the disk geometry\"\"\""},{"line_number":1401,"context_line":"        if self.configuration.disk_geometry \u003d\u003d \u0027512\u0027:"},{"line_number":1402,"context_line":"            provider_geometry \u003d {\u0027physical_block_size\u0027: \u0027512\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_8224555f","line":1399,"range":{"start_line":1399,"start_character":7,"end_line":1399,"end_character":28},"updated":"2019-05-16 14:21:33.000000000","message":"you are missing unit tests for 512 and 4k variations. Only the 512e path is being tested.","commit_id":"afe3da3ec84a0172cd4807884f706184b2cc0f0b"},{"author":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"change_message_id":"b96c66bc2716ab13aed3d3dbd82a4a2514dafb50","unresolved":false,"context_lines":[{"line_number":1396,"context_line":""},{"line_number":1397,"context_line":"        return keyring_data"},{"line_number":1398,"context_line":""},{"line_number":1399,"context_line":"    def _get_geometry(self):"},{"line_number":1400,"context_line":"        \"\"\"Returns the volume update required for the disk geometry\"\"\""},{"line_number":1401,"context_line":"        if self.configuration.disk_geometry \u003d\u003d \u0027512\u0027:"},{"line_number":1402,"context_line":"            provider_geometry \u003d {\u0027physical_block_size\u0027: \u0027512\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_6836b8b7","line":1399,"range":{"start_line":1399,"start_character":7,"end_line":1399,"end_character":28},"in_reply_to":"dfbec78f_8224555f","updated":"2021-11-19 03:30:00.000000000","message":"Done","commit_id":"afe3da3ec84a0172cd4807884f706184b2cc0f0b"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"248d7c2752e1dfb18e8d33db170dd89eb4f08a63","unresolved":false,"context_lines":[{"line_number":1398,"context_line":""},{"line_number":1399,"context_line":"    def _get_geometry(self):"},{"line_number":1400,"context_line":"        \"\"\"Returns the volume update required for the disk geometry\"\"\""},{"line_number":1401,"context_line":"        if self.configuration.disk_geometry \u003d\u003d \u0027512\u0027:"},{"line_number":1402,"context_line":"            provider_geometry \u003d {\u0027physical_block_size\u0027: \u0027512\u0027,"},{"line_number":1403,"context_line":"                                 \u0027logical_block_size\u0027: \u0027512\u0027}"},{"line_number":1404,"context_line":"        elif self.configuration.disk_geometry \u003d\u003d \u0027512e\u0027:"},{"line_number":1405,"context_line":"            provider_geometry \u003d {\u0027physical_block_size\u0027: \u00274096\u0027,"},{"line_number":1406,"context_line":"                                 \u0027logical_block_size\u0027: \u0027512\u0027}"},{"line_number":1407,"context_line":"        elif self.configuration.disk_geometry \u003d\u003d \u00274k\u0027:"},{"line_number":1408,"context_line":"            provider_geometry \u003d {\u0027physical_block_size\u0027: \u00274096\u0027,"},{"line_number":1409,"context_line":"                                 \u0027logical_block_size\u0027: \u00274096\u0027}"},{"line_number":1410,"context_line":""},{"line_number":1411,"context_line":"        return provider_geometry"},{"line_number":1412,"context_line":""},{"line_number":1413,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":1414,"context_line":"        hosts, ports \u003d self._get_mon_addrs()"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_e2f431f3","line":1411,"range":{"start_line":1401,"start_character":0,"end_line":1411,"end_character":32},"updated":"2019-05-16 14:21:33.000000000","message":"this is mainly a nit, but this is a bit weird to read since you are declaring provider_geometry inside the if/elif clauses and returning it outside. It is not wrong because there are only 3 choices, but it makes it harder to maintain in the future if either this logic or the config option should change.\n\nMy suggestion: Since default is 512e, use if and elif for 512 and 4k, and use else for setting provider_geometry to the dict respective to 512e.","commit_id":"afe3da3ec84a0172cd4807884f706184b2cc0f0b"},{"author":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"change_message_id":"b96c66bc2716ab13aed3d3dbd82a4a2514dafb50","unresolved":false,"context_lines":[{"line_number":1398,"context_line":""},{"line_number":1399,"context_line":"    def _get_geometry(self):"},{"line_number":1400,"context_line":"        \"\"\"Returns the volume update required for the disk geometry\"\"\""},{"line_number":1401,"context_line":"        if self.configuration.disk_geometry \u003d\u003d \u0027512\u0027:"},{"line_number":1402,"context_line":"            provider_geometry \u003d {\u0027physical_block_size\u0027: \u0027512\u0027,"},{"line_number":1403,"context_line":"                                 \u0027logical_block_size\u0027: \u0027512\u0027}"},{"line_number":1404,"context_line":"        elif self.configuration.disk_geometry \u003d\u003d \u0027512e\u0027:"},{"line_number":1405,"context_line":"            provider_geometry \u003d {\u0027physical_block_size\u0027: \u00274096\u0027,"},{"line_number":1406,"context_line":"                                 \u0027logical_block_size\u0027: \u0027512\u0027}"},{"line_number":1407,"context_line":"        elif self.configuration.disk_geometry \u003d\u003d \u00274k\u0027:"},{"line_number":1408,"context_line":"            provider_geometry \u003d {\u0027physical_block_size\u0027: \u00274096\u0027,"},{"line_number":1409,"context_line":"                                 \u0027logical_block_size\u0027: \u00274096\u0027}"},{"line_number":1410,"context_line":""},{"line_number":1411,"context_line":"        return provider_geometry"},{"line_number":1412,"context_line":""},{"line_number":1413,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":1414,"context_line":"        hosts, ports \u003d self._get_mon_addrs()"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_2840c007","line":1411,"range":{"start_line":1401,"start_character":0,"end_line":1411,"end_character":32},"in_reply_to":"dfbec78f_e2f431f3","updated":"2021-11-19 03:30:00.000000000","message":"I decided to unextract this code back into the initialize_connection function, it\u0027s not too long and makes the function more obvious about what it\u0027s actually doing. In doing so, it solves this concern I think. Hopefully that sounds OK to you.","commit_id":"afe3da3ec84a0172cd4807884f706184b2cc0f0b"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"248d7c2752e1dfb18e8d33db170dd89eb4f08a63","unresolved":false,"context_lines":[{"line_number":1430,"context_line":"            }"},{"line_number":1431,"context_line":"        }"},{"line_number":1432,"context_line":"        geometry \u003d self._get_geometry()"},{"line_number":1433,"context_line":"        if geometry:"},{"line_number":1434,"context_line":"            data[\u0027data\u0027].update(geometry)"},{"line_number":1435,"context_line":"        LOG.debug(\u0027connection data: %s\u0027, data)"},{"line_number":1436,"context_line":"        return data"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_e2cd11b7","line":1433,"range":{"start_line":1433,"start_character":8,"end_line":1433,"end_character":20},"updated":"2019-05-16 14:21:33.000000000","message":"you will always return something in self._get_geometry, this condition is not required.","commit_id":"afe3da3ec84a0172cd4807884f706184b2cc0f0b"},{"author":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"change_message_id":"b96c66bc2716ab13aed3d3dbd82a4a2514dafb50","unresolved":false,"context_lines":[{"line_number":1430,"context_line":"            }"},{"line_number":1431,"context_line":"        }"},{"line_number":1432,"context_line":"        geometry \u003d self._get_geometry()"},{"line_number":1433,"context_line":"        if geometry:"},{"line_number":1434,"context_line":"            data[\u0027data\u0027].update(geometry)"},{"line_number":1435,"context_line":"        LOG.debug(\u0027connection data: %s\u0027, data)"},{"line_number":1436,"context_line":"        return data"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_4845f416","line":1433,"range":{"start_line":1433,"start_character":8,"end_line":1433,"end_character":20},"in_reply_to":"dfbec78f_e2cd11b7","updated":"2021-11-19 03:30:00.000000000","message":"Done","commit_id":"afe3da3ec84a0172cd4807884f706184b2cc0f0b"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"cdab421cc394d51002935ded0bcb52b687ee6b3f","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                    \u0027an expensive read-modify-write of the smaller operation. \u0027"},{"line_number":139,"context_line":"                    \u0027512e is the recommended setting as 4k native can cause \u0027"},{"line_number":140,"context_line":"                    \u0027compatibility issues with some software and operating \u0027"},{"line_number":141,"context_line":"                    \u0027system versions according to Microsoft KB 2510009.\u0027),"},{"line_number":142,"context_line":"]"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_87c8fd73","line":141,"updated":"2019-05-29 15:52:22.000000000","message":"I think it would be better to just note that 4k native can cause compatibility and performance (alignment) issues with some software and operating systems and not refer to the Microsoft KB article.\n\nIt\u0027s a decent article but it\u0027s full of information that\u0027s Windows-specific and not really relevant to Cinder admins in general.\n\nWe have other drivers that support 4k sectors and they don\u0027t dive into all of this -- maybe there should be something about it in the general Cinder doc?","commit_id":"be03725203de70187b50356db4a85abf8ae0c078"}],"cinder/volume/manager.py":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"b39eebdb71e0d8510b6436d4b47b374361da6193","unresolved":true,"context_lines":[{"line_number":1821,"context_line":""},{"line_number":1822,"context_line":"    def _set_connection_block_size(self, conn_info: dict) -\u003e None:"},{"line_number":1823,"context_line":"        # NOTE(raineszm): There is some logic here to preserve backward"},{"line_number":1824,"context_line":"        # compatibility # for drivers, like the SolidFire ISCSI driver,"},{"line_number":1825,"context_line":"        # that set physical_block_size and"},{"line_number":1826,"context_line":"        # logical_block_size based on their own options."},{"line_number":1827,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"233c8a0b_eedc1035","line":1824,"range":{"start_line":1824,"start_character":24,"end_line":1824,"end_character":25},"updated":"2025-11-19 13:09:18.000000000","message":"nit: extra \u0027#\u0027","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"a5eb97cfe788eb1fdeff3292a46454e22d702815","unresolved":false,"context_lines":[{"line_number":1821,"context_line":""},{"line_number":1822,"context_line":"    def _set_connection_block_size(self, conn_info: dict) -\u003e None:"},{"line_number":1823,"context_line":"        # NOTE(raineszm): There is some logic here to preserve backward"},{"line_number":1824,"context_line":"        # compatibility # for drivers, like the SolidFire ISCSI driver,"},{"line_number":1825,"context_line":"        # that set physical_block_size and"},{"line_number":1826,"context_line":"        # logical_block_size based on their own options."},{"line_number":1827,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"a8fe6c74_f0bc254b","line":1824,"range":{"start_line":1824,"start_character":24,"end_line":1824,"end_character":25},"in_reply_to":"233c8a0b_eedc1035","updated":"2025-11-19 15:12:36.000000000","message":"Acknowledged","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"b39eebdb71e0d8510b6436d4b47b374361da6193","unresolved":true,"context_lines":[{"line_number":1836,"context_line":"            data[\u0027physical_block_size\u0027] \u003d 4096"},{"line_number":1837,"context_line":"            data[\u0027logical_block_size\u0027] \u003d 4096"},{"line_number":1838,"context_line":""},{"line_number":1839,"context_line":"        conn_info[\u0027data\u0027] \u003d {**data, **conn_info.get(\u0027data\u0027, {})}"},{"line_number":1840,"context_line":""},{"line_number":1841,"context_line":"    def _parse_connection_options(self, context, volume: objects.Volume,"},{"line_number":1842,"context_line":"                                  conn_info: dict) -\u003e dict:"}],"source_content_type":"text/x-python","patch_set":9,"id":"75626219_69c5f2de","line":1839,"range":{"start_line":1839,"start_character":8,"end_line":1839,"end_character":65},"updated":"2025-11-19 13:09:18.000000000","message":"Although this construct is correct preserving the backward compatibility, I would go with a more explicit contruct to make your intent more visible. If you write something like:\n\nif \u0027physical_block_size\u0027 in conn_info[\u0027data\u0027] and \u0027logical_block_size\u0027 in conn_info[\u0027data\u0027]:\n  return\n\n...\n\nAlso, since this construct is only present on python versions \u003e\u003d 3.5, you will break compatibility with older versions.","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"a5eb97cfe788eb1fdeff3292a46454e22d702815","unresolved":false,"context_lines":[{"line_number":1836,"context_line":"            data[\u0027physical_block_size\u0027] \u003d 4096"},{"line_number":1837,"context_line":"            data[\u0027logical_block_size\u0027] \u003d 4096"},{"line_number":1838,"context_line":""},{"line_number":1839,"context_line":"        conn_info[\u0027data\u0027] \u003d {**data, **conn_info.get(\u0027data\u0027, {})}"},{"line_number":1840,"context_line":""},{"line_number":1841,"context_line":"    def _parse_connection_options(self, context, volume: objects.Volume,"},{"line_number":1842,"context_line":"                                  conn_info: dict) -\u003e dict:"}],"source_content_type":"text/x-python","patch_set":9,"id":"7e42b7a3_5211bcce","line":1839,"range":{"start_line":1839,"start_character":8,"end_line":1839,"end_character":65},"in_reply_to":"75626219_69c5f2de","updated":"2025-11-19 15:12:36.000000000","message":"I don\u0027t think we have to worry about compatibility of the construct, since it looks like going back as far as Ussuri we\u0027re still on \u003e\u003d python 3.6, but I agree that your version is clearer.","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"21cb17938f98438e426e43b5367bdbf5aca4dbc4","unresolved":true,"context_lines":[{"line_number":1831,"context_line":""},{"line_number":1832,"context_line":"        # NOTE(raineszm): Although the block sizes are"},{"line_number":1833,"context_line":"        # logically integers, it is important to supply them"},{"line_number":1834,"context_line":"        # as strings because that is what Nova expects."},{"line_number":1835,"context_line":"        if self.driver.configuration.disk_geometry \u003d\u003d \"512\":"},{"line_number":1836,"context_line":"            conn_info[\u0027data\u0027][\u0027physical_block_size\u0027] \u003d \"512\""},{"line_number":1837,"context_line":"            conn_info[\u0027data\u0027][\u0027logical_block_size\u0027] \u003d \"512\""}],"source_content_type":"text/x-python","patch_set":11,"id":"2ab553a8_9777ce3f","line":1834,"updated":"2026-01-28 17:53:15.000000000","message":"I\u0027m trying to think whether there could be an upgrade case where the manager has been upgraded but the driver has not?  Not sure that\u0027s possible, but still it might be a good idea to do\n\n``    disk_geometry \u003d self.driver.configuration.safe_get(\u0027disk_geometry\u0027)``\n\nhere, and then use the local var in the comparisons below.","commit_id":"4cacb7c3a7f858b75bfcbc25930f55a8f0973e58"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"9eb9606989d65499997a630b0903f0fff349b165","unresolved":false,"context_lines":[{"line_number":1831,"context_line":""},{"line_number":1832,"context_line":"        # NOTE(raineszm): Although the block sizes are"},{"line_number":1833,"context_line":"        # logically integers, it is important to supply them"},{"line_number":1834,"context_line":"        # as strings because that is what Nova expects."},{"line_number":1835,"context_line":"        if self.driver.configuration.disk_geometry \u003d\u003d \"512\":"},{"line_number":1836,"context_line":"            conn_info[\u0027data\u0027][\u0027physical_block_size\u0027] \u003d \"512\""},{"line_number":1837,"context_line":"            conn_info[\u0027data\u0027][\u0027logical_block_size\u0027] \u003d \"512\""}],"source_content_type":"text/x-python","patch_set":11,"id":"10d8a173_77836156","line":1834,"in_reply_to":"2ab553a8_9777ce3f","updated":"2026-01-28 19:24:42.000000000","message":"Acknowledged","commit_id":"4cacb7c3a7f858b75bfcbc25930f55a8f0973e58"}],"releasenotes/notes/driver-disk-geometry-7753e2e3bc44cc3d.yaml":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"b39eebdb71e0d8510b6436d4b47b374361da6193","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a ``disk_geometry`` configuration option to volume dirvers that"},{"line_number":5,"context_line":"    advertises each volume\u0027s ``logical_block_size`` and ``physical_block_size`` to"},{"line_number":6,"context_line":"    the guest. The default value of ``512e`` (logical 512, physical 4096) hints that"},{"line_number":7,"context_line":"    4k-aligned I/O is optimal while remaining compatible with older operating"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"400fcc11_25e4f06d","line":4,"range":{"start_line":4,"start_character":61,"end_line":4,"end_character":68},"updated":"2025-11-19 13:09:18.000000000","message":"drivers","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"a5eb97cfe788eb1fdeff3292a46454e22d702815","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a ``disk_geometry`` configuration option to volume dirvers that"},{"line_number":5,"context_line":"    advertises each volume\u0027s ``logical_block_size`` and ``physical_block_size`` to"},{"line_number":6,"context_line":"    the guest. The default value of ``512e`` (logical 512, physical 4096) hints that"},{"line_number":7,"context_line":"    4k-aligned I/O is optimal while remaining compatible with older operating"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"1f400e50_4f9e46ef","line":4,"range":{"start_line":4,"start_character":61,"end_line":4,"end_character":68},"in_reply_to":"400fcc11_25e4f06d","updated":"2025-11-19 15:12:36.000000000","message":"Acknowledged","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"b39eebdb71e0d8510b6436d4b47b374361da6193","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    advertises each volume\u0027s ``logical_block_size`` and ``physical_block_size`` to"},{"line_number":6,"context_line":"    the guest. The default value of ``512e`` (logical 512, physical 4096) hints that"},{"line_number":7,"context_line":"    4k-aligned I/O is optimal while remaining compatible with older operating"},{"line_number":8,"context_line":"    systems. The has the most visible impace for Windows guests that would otherwise submit"},{"line_number":9,"context_line":"    512-byte I/O, while Linux typically aligns to 4k already. On back ends such"},{"line_number":10,"context_line":"    as Ceph, aligned 4k requests prevent extra read-modify-update cycles and can"},{"line_number":11,"context_line":"    noticeably improve HDD-backed pool performance. Note that guests need a VirtIO"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"eb8298ce_efc24c2e","line":8,"range":{"start_line":8,"start_character":14,"end_line":8,"end_character":44},"updated":"2025-11-19 13:09:18.000000000","message":"This has the most visible impact","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"a5eb97cfe788eb1fdeff3292a46454e22d702815","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    advertises each volume\u0027s ``logical_block_size`` and ``physical_block_size`` to"},{"line_number":6,"context_line":"    the guest. The default value of ``512e`` (logical 512, physical 4096) hints that"},{"line_number":7,"context_line":"    4k-aligned I/O is optimal while remaining compatible with older operating"},{"line_number":8,"context_line":"    systems. The has the most visible impace for Windows guests that would otherwise submit"},{"line_number":9,"context_line":"    512-byte I/O, while Linux typically aligns to 4k already. On back ends such"},{"line_number":10,"context_line":"    as Ceph, aligned 4k requests prevent extra read-modify-update cycles and can"},{"line_number":11,"context_line":"    noticeably improve HDD-backed pool performance. Note that guests need a VirtIO"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"73e3a956_e01f5594","line":8,"range":{"start_line":8,"start_character":14,"end_line":8,"end_character":44},"in_reply_to":"eb8298ce_efc24c2e","updated":"2025-11-19 15:12:36.000000000","message":"Acknowledged","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"b39eebdb71e0d8510b6436d4b47b374361da6193","unresolved":true,"context_lines":[{"line_number":11,"context_line":"    noticeably improve HDD-backed pool performance. Note that guests need a VirtIO"},{"line_number":12,"context_line":"    driver that includes the fix from"},{"line_number":13,"context_line":"    https://bugzilla.redhat.com/show_bug.cgi?id\u003d1428641 to use this feature (2019 or newer)."},{"line_number":14,"context_line":"upgrade:"},{"line_number":15,"context_line":"  - |"},{"line_number":16,"context_line":"    The default value of ``disk_geometry\u003d512 means that guests now"},{"line_number":17,"context_line":"    see ``physical_block_size\u003d4096`` while previously the default was 512."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"038aef1a_249ef125","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":8},"updated":"2025-11-19 13:09:18.000000000","message":"You don\u0027t need an upgrade note because this is a new option. There is no action or impact to be taken if the user is upgrading.","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"a5eb97cfe788eb1fdeff3292a46454e22d702815","unresolved":true,"context_lines":[{"line_number":11,"context_line":"    noticeably improve HDD-backed pool performance. Note that guests need a VirtIO"},{"line_number":12,"context_line":"    driver that includes the fix from"},{"line_number":13,"context_line":"    https://bugzilla.redhat.com/show_bug.cgi?id\u003d1428641 to use this feature (2019 or newer)."},{"line_number":14,"context_line":"upgrade:"},{"line_number":15,"context_line":"  - |"},{"line_number":16,"context_line":"    The default value of ``disk_geometry\u003d512 means that guests now"},{"line_number":17,"context_line":"    see ``physical_block_size\u003d4096`` while previously the default was 512."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"b4e64777_f9ae16c6","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":8},"in_reply_to":"038aef1a_249ef125","updated":"2025-11-19 15:12:36.000000000","message":"The upgrade section is there because the default behavior has changed, i.e., a 512e block size is advertised by default as opposed to before when nothing was set. I can make the notes pithier to highlight that this is the main consequence for upgrades.","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"950c5859dffe9121638b866faafbd7fdb8e89711","unresolved":true,"context_lines":[{"line_number":11,"context_line":"    noticeably improve HDD-backed pool performance. Note that guests need a VirtIO"},{"line_number":12,"context_line":"    driver that includes the fix from"},{"line_number":13,"context_line":"    https://bugzilla.redhat.com/show_bug.cgi?id\u003d1428641 to use this feature (2019 or newer)."},{"line_number":14,"context_line":"upgrade:"},{"line_number":15,"context_line":"  - |"},{"line_number":16,"context_line":"    The default value of ``disk_geometry\u003d512 means that guests now"},{"line_number":17,"context_line":"    see ``physical_block_size\u003d4096`` while previously the default was 512."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"bdc7200b_c11b467d","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":8},"in_reply_to":"b4e64777_f9ae16c6","updated":"2025-11-26 14:29:39.000000000","message":"Ah ok. Good point.","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"aae8517de5be8d86ad3877074e7518e5dd532abe","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    noticeably improve HDD-backed pool performance. Note that guests need a VirtIO"},{"line_number":12,"context_line":"    driver that includes the fix from"},{"line_number":13,"context_line":"    https://bugzilla.redhat.com/show_bug.cgi?id\u003d1428641 to use this feature (2019 or newer)."},{"line_number":14,"context_line":"upgrade:"},{"line_number":15,"context_line":"  - |"},{"line_number":16,"context_line":"    The default value of ``disk_geometry\u003d512 means that guests now"},{"line_number":17,"context_line":"    see ``physical_block_size\u003d4096`` while previously the default was 512."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"1276a174_1b9462f7","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":8},"in_reply_to":"bdc7200b_c11b467d","updated":"2025-12-02 23:14:57.000000000","message":"Done","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"b39eebdb71e0d8510b6436d4b47b374361da6193","unresolved":true,"context_lines":[{"line_number":13,"context_line":"    https://bugzilla.redhat.com/show_bug.cgi?id\u003d1428641 to use this feature (2019 or newer)."},{"line_number":14,"context_line":"upgrade:"},{"line_number":15,"context_line":"  - |"},{"line_number":16,"context_line":"    The default value of ``disk_geometry\u003d512 means that guests now"},{"line_number":17,"context_line":"    see ``physical_block_size\u003d4096`` while previously the default was 512."},{"line_number":18,"context_line":"    The current configuration value is used immediately whenever a volume is attached,"},{"line_number":19,"context_line":"    however existing libvirt VMs won\u0027t be"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"2e77f77d_7839c9cb","line":16,"range":{"start_line":16,"start_character":41,"end_line":16,"end_character":44},"updated":"2025-11-19 13:09:18.000000000","message":"512e","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"a5eb97cfe788eb1fdeff3292a46454e22d702815","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    https://bugzilla.redhat.com/show_bug.cgi?id\u003d1428641 to use this feature (2019 or newer)."},{"line_number":14,"context_line":"upgrade:"},{"line_number":15,"context_line":"  - |"},{"line_number":16,"context_line":"    The default value of ``disk_geometry\u003d512 means that guests now"},{"line_number":17,"context_line":"    see ``physical_block_size\u003d4096`` while previously the default was 512."},{"line_number":18,"context_line":"    The current configuration value is used immediately whenever a volume is attached,"},{"line_number":19,"context_line":"    however existing libvirt VMs won\u0027t be"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"30cca4c4_3f185b7b","line":16,"range":{"start_line":16,"start_character":41,"end_line":16,"end_character":44},"in_reply_to":"2e77f77d_7839c9cb","updated":"2025-11-19 15:12:36.000000000","message":"Acknowledged","commit_id":"2007cfec538a976b06001cccc31b0cbe9b3e9f17"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"21cb17938f98438e426e43b5367bdbf5aca4dbc4","unresolved":true,"context_lines":[{"line_number":13,"context_line":"    https://bugzilla.redhat.com/show_bug.cgi?id\u003d1428641 to use this feature (2019 or newer)."},{"line_number":14,"context_line":"upgrade:"},{"line_number":15,"context_line":"  - |"},{"line_number":16,"context_line":"    Because of the default value ``disk_geometry\u003d512e`` means that guests now"},{"line_number":17,"context_line":"    see ``physical_block_size\u003d4096`` while previously they would have seen"},{"line_number":18,"context_line":"    ``physical_block_size\u003d512``. To restore the old behavior, set"},{"line_number":19,"context_line":"    ``disk_geometry\u003d512`` on the relevant volume drivers."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5adde167_0619ef10","line":16,"range":{"start_line":16,"start_character":4,"end_line":16,"end_character":56},"updated":"2026-01-28 17:53:15.000000000","message":"There will be other stuff in between your feature note and your upgrade note, so it would be good to provide some context here, for example\n\n    A new volume driver configuration option, ``disk_geometry`` has been introduced with the default value ``512e``.  This means ...","commit_id":"4cacb7c3a7f858b75bfcbc25930f55a8f0973e58"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"9eb9606989d65499997a630b0903f0fff349b165","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    https://bugzilla.redhat.com/show_bug.cgi?id\u003d1428641 to use this feature (2019 or newer)."},{"line_number":14,"context_line":"upgrade:"},{"line_number":15,"context_line":"  - |"},{"line_number":16,"context_line":"    Because of the default value ``disk_geometry\u003d512e`` means that guests now"},{"line_number":17,"context_line":"    see ``physical_block_size\u003d4096`` while previously they would have seen"},{"line_number":18,"context_line":"    ``physical_block_size\u003d512``. To restore the old behavior, set"},{"line_number":19,"context_line":"    ``disk_geometry\u003d512`` on the relevant volume drivers."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"14ef91f3_57c6c61a","line":16,"range":{"start_line":16,"start_character":4,"end_line":16,"end_character":56},"in_reply_to":"5adde167_0619ef10","updated":"2026-01-28 19:24:42.000000000","message":"Acknowledged","commit_id":"4cacb7c3a7f858b75bfcbc25930f55a8f0973e58"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"563cca179ad5fe28c28f8e11bc8bd769b71aa4f9","unresolved":true,"context_lines":[{"line_number":12,"context_line":"    requests prevent extra read-modify-update cycles and can noticeably improve"},{"line_number":13,"context_line":"    HDD-backed pool performance. Note that guests need a VirtIO driver that"},{"line_number":14,"context_line":"    includes the fix from https://bugzilla.redhat.com/show_bug.cgi?id\u003d1428641 to"},{"line_number":15,"context_line":"    use this feature (2019 or newer)."},{"line_number":16,"context_line":"upgrade:"},{"line_number":17,"context_line":"  - |"},{"line_number":18,"context_line":"    A new volume driver configuration option ``disk_geometry`` has been"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"26cdf3f4_f61a12cb","line":15,"updated":"2026-01-28 21:25:31.000000000","message":"I think you should mention here that the default value will change to 512e in the 2027.1 release.","commit_id":"c92ff3da5ac5f5b203604c99c2b97dd51003a173"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"563cca179ad5fe28c28f8e11bc8bd769b71aa4f9","unresolved":true,"context_lines":[{"line_number":16,"context_line":"upgrade:"},{"line_number":17,"context_line":"  - |"},{"line_number":18,"context_line":"    A new volume driver configuration option ``disk_geometry`` has been"},{"line_number":19,"context_line":"    introduced, which controlsthe ``logical_block_size`` and"},{"line_number":20,"context_line":"    ``physical_block_size`` advertised to the guest. The default value of \u0027512\u0027"},{"line_number":21,"context_line":"    is equivalent to the behavior of previous releases (logical 512, physical"},{"line_number":22,"context_line":"    512). However, the recommended value of ``512e`` (logical 512, physical"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"096722f6_c690475f","line":19,"range":{"start_line":19,"start_character":22,"end_line":19,"end_character":33},"updated":"2026-01-28 21:25:31.000000000","message":"missing a space","commit_id":"c92ff3da5ac5f5b203604c99c2b97dd51003a173"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"563cca179ad5fe28c28f8e11bc8bd769b71aa4f9","unresolved":true,"context_lines":[{"line_number":21,"context_line":"    is equivalent to the behavior of previous releases (logical 512, physical"},{"line_number":22,"context_line":"    512). However, the recommended value of ``512e`` (logical 512, physical"},{"line_number":23,"context_line":"    4096) hints that 4k-aligned I/O is optimal while remaining compatible with"},{"line_number":24,"context_line":"    older operating systems. In future releases, the default value will be"},{"line_number":25,"context_line":"    changed to ``512e``. The current configuration value is used immediately"},{"line_number":26,"context_line":"    whenever a volume is attached, however existing libvirt VMs won\u0027t be updated"},{"line_number":27,"context_line":"    unless their configuration file is re-generated such as by"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"fd1969f2_8039660e","line":24,"range":{"start_line":24,"start_character":29,"end_line":24,"end_character":47},"updated":"2026-01-28 21:25:31.000000000","message":"Beginning with the 2027.1 release,","commit_id":"c92ff3da5ac5f5b203604c99c2b97dd51003a173"}]}
