aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/scsi/osd_protocol.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/include/scsi/osd_protocol.h b/include/scsi/osd_protocol.h
index cd3cbf764650..fa8343ce3ca2 100644
--- a/include/scsi/osd_protocol.h
+++ b/include/scsi/osd_protocol.h
@@ -301,14 +301,24 @@ struct osd_attributes_list_attrid {
301} __packed; 301} __packed;
302 302
303/* 303/*
304 * NOTE: v1: is not aligned.
305 */
306struct osdv1_attributes_list_element {
307 __be32 attr_page;
308 __be32 attr_id;
309 __be16 attr_bytes; /* valid bytes at attr_val without padding */
310 u8 attr_val[0];
311} __packed;
312
313/*
304 * osd2r03: 7.1.3.3 List entry format for retrieved attributes and 314 * osd2r03: 7.1.3.3 List entry format for retrieved attributes and
305 * for setting attributes 315 * for setting attributes
306 * NOTE: v2 is 8-bytes aligned, v1 is not aligned. 316 * NOTE: v2 is 8-bytes aligned
307 */ 317 */
308struct osd_attributes_list_element { 318struct osdv2_attributes_list_element {
309 __be32 attr_page; 319 __be32 attr_page;
310 __be32 attr_id; 320 __be32 attr_id;
311 __be16 attr_bytes; 321 __be16 attr_bytes; /* valid bytes at attr_val without padding */
312 u8 attr_val[0]; 322 u8 attr_val[0];
313} __packed; 323} __packed;
314 324
@@ -324,13 +334,13 @@ enum {
324 334
325static inline unsigned osdv1_attr_list_elem_size(unsigned len) 335static inline unsigned osdv1_attr_list_elem_size(unsigned len)
326{ 336{
327 return ALIGN(len + sizeof(struct osd_attributes_list_element), 337 return ALIGN(len + sizeof(struct osdv1_attributes_list_element),
328 OSDv1_ATTRIBUTES_ELEM_ALIGN); 338 OSDv1_ATTRIBUTES_ELEM_ALIGN);
329} 339}
330 340
331static inline unsigned osdv2_attr_list_elem_size(unsigned len) 341static inline unsigned osdv2_attr_list_elem_size(unsigned len)
332{ 342{
333 return ALIGN(len + sizeof(struct osd_attributes_list_element), 343 return ALIGN(len + sizeof(struct osdv2_attributes_list_element),
334 OSD_ATTRIBUTES_ELEM_ALIGN); 344 OSD_ATTRIBUTES_ELEM_ALIGN);
335} 345}
336 346