On 9. Oct 2025, at 14:44, James Bottomley wrote: > On Thu, 2025-10-09 at 13:58 +0200, Thorsten Blum wrote: >> Use designated initializers for 'key_format_tokens' and 'key_tokens' >> to allow struct fields to be reordered more easily > > How does it improve that? The key,value pairs are surrounded by braces > so we just cut and paste the lot anyway.
Using designated initializers (especially for global structs) allows the fields of struct match_token from linux/parser.h to be reordered or extended more easily, improving overall maintainability. >> and to improve readability. > > I don't think I agree with this when looking through the code, > especially because this is the way it's done for *every* option in the > entire key subsystem. So firstly I really don't think it's helpful for > only encrypted keys to be different from everything else and secondly > when I read the code (as I often do to figure out what the options > mean), the additional .token and .pattern just get in the way of what > I'm looking for. I just stumbled upon this and didn't check any other files. I do think it helps with readability, especially for people unfamiliar with the code. With designated initializers, it's clear what each value represents without having to look up the definition of 'match_token' in linux/parser.h. Thanks, Thorsten
