On Wed, Jun 18, 2025 at 11:21:53AM +0530, Anuj Gupta wrote: > +/* > + * struct logical_block_metadata_cap - Logical block metadata capability No real need to duplicate the struct name here. > + * If the device does not support metadata, all the fields will be zero. > + * Applications must check lbmd_flags to determine whether metadata is supported or not. Overly long line. > + */ > +struct logical_block_metadata_cap { > + /* Bitmask of logical block metadata capability flags */ > + __u32 lbmd_flags; > + /* The amount of data described by each unit of logical block metadata */ Loit sof overly long lines, please reformat these as block comments. > + __u16 lbmd_interval; > + /* Size in bytes of the logical block metadata associated with each interval */ > + __u8 lbmd_size; > + /* Size in bytes of the opaque block tag associated with each interval */ > + __u8 lbmd_opaque_size; > + /* Offset in bytes of the opaque block tag within the logical block metadata */ > > + __u8 lbmd_opaque_offset; > + /* Size in bytes of the T10 PI tuple associated with each interval */ > + __u8 lbmd_pi_size; > + /* Offset in bytes of T10 PI tuple within the logical block metadata */ > + __u8 lbmd_pi_offset; > + /* T10 PI guard tag type */ > + __u8 lbmd_guard_tag_type; > + /* Size in bytes of the T10 PI application tag */ > + __u8 lbmd_app_tag_size; > + /* Size in bytes of the T10 PI reference tag */ > + __u8 lbmd_ref_tag_size; > + /* Size in bytes of the T10 PI storage tag */ > + __u8 lbmd_storage_tag_size; > +}; This leaves a byte of padding at the end, leaving to issues with compiler alignments and potentially leaking uninitialized stack data.