aboutsummaryrefslogtreecommitdiffstats
path: root/fs/udf
diff options
context:
space:
mode:
authorFabian Frederick <fabf@skynet.be>2017-01-06 15:53:49 -0500
committerJan Kara <jack@suse.cz>2017-01-10 05:29:11 -0500
commit75f271380d49798cc313174e9976aabc5197c93e (patch)
tree086aa5551401171d75b409f81ce7f27ddfb10a9c /fs/udf
parentad4d05329df5e9825cac3132e12453a6c12915b8 (diff)
udf: use __packed instead of __attribute__ ((packed))
defined in linux/compiler-gcc.h Signed-off-by: Fabian Frederick <fabf@skynet.be> Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/udf')
-rw-r--r--fs/udf/ecma_167.h98
-rw-r--r--fs/udf/osta_udf.h34
2 files changed, 66 insertions, 66 deletions
diff --git a/fs/udf/ecma_167.h b/fs/udf/ecma_167.h
index 4792b771aa80..9f24bd1a9f44 100644
--- a/fs/udf/ecma_167.h
+++ b/fs/udf/ecma_167.h
@@ -41,7 +41,7 @@
41struct charspec { 41struct charspec {
42 uint8_t charSetType; 42 uint8_t charSetType;
43 uint8_t charSetInfo[63]; 43 uint8_t charSetInfo[63];
44} __attribute__ ((packed)); 44} __packed;
45 45
46/* Character Set Type (ECMA 167r3 1/7.2.1.1) */ 46/* Character Set Type (ECMA 167r3 1/7.2.1.1) */
47#define CHARSPEC_TYPE_CS0 0x00 /* (1/7.2.2) */ 47#define CHARSPEC_TYPE_CS0 0x00 /* (1/7.2.2) */
@@ -68,7 +68,7 @@ struct timestamp {
68 uint8_t centiseconds; 68 uint8_t centiseconds;
69 uint8_t hundredsOfMicroseconds; 69 uint8_t hundredsOfMicroseconds;
70 uint8_t microseconds; 70 uint8_t microseconds;
71} __attribute__ ((packed)); 71} __packed;
72 72
73/* Type and Time Zone (ECMA 167r3 1/7.3.1) */ 73/* Type and Time Zone (ECMA 167r3 1/7.3.1) */
74#define TIMESTAMP_TYPE_MASK 0xF000 74#define TIMESTAMP_TYPE_MASK 0xF000
@@ -82,7 +82,7 @@ struct regid {
82 uint8_t flags; 82 uint8_t flags;
83 uint8_t ident[23]; 83 uint8_t ident[23];
84 uint8_t identSuffix[8]; 84 uint8_t identSuffix[8];
85} __attribute__ ((packed)); 85} __packed;
86 86
87/* Flags (ECMA 167r3 1/7.4.1) */ 87/* Flags (ECMA 167r3 1/7.4.1) */
88#define ENTITYID_FLAGS_DIRTY 0x00 88#define ENTITYID_FLAGS_DIRTY 0x00
@@ -95,7 +95,7 @@ struct volStructDesc {
95 uint8_t stdIdent[VSD_STD_ID_LEN]; 95 uint8_t stdIdent[VSD_STD_ID_LEN];
96 uint8_t structVersion; 96 uint8_t structVersion;
97 uint8_t structData[2041]; 97 uint8_t structData[2041];
98} __attribute__ ((packed)); 98} __packed;
99 99
100/* Standard Identifier (EMCA 167r2 2/9.1.2) */ 100/* Standard Identifier (EMCA 167r2 2/9.1.2) */
101#define VSD_STD_ID_NSR02 "NSR02" /* (3/9.1) */ 101#define VSD_STD_ID_NSR02 "NSR02" /* (3/9.1) */
@@ -114,7 +114,7 @@ struct beginningExtendedAreaDesc {
114 uint8_t stdIdent[VSD_STD_ID_LEN]; 114 uint8_t stdIdent[VSD_STD_ID_LEN];
115 uint8_t structVersion; 115 uint8_t structVersion;
116 uint8_t structData[2041]; 116 uint8_t structData[2041];
117} __attribute__ ((packed)); 117} __packed;
118 118
119/* Terminating Extended Area Descriptor (ECMA 167r3 2/9.3) */ 119/* Terminating Extended Area Descriptor (ECMA 167r3 2/9.3) */
120struct terminatingExtendedAreaDesc { 120struct terminatingExtendedAreaDesc {
@@ -122,7 +122,7 @@ struct terminatingExtendedAreaDesc {
122 uint8_t stdIdent[VSD_STD_ID_LEN]; 122 uint8_t stdIdent[VSD_STD_ID_LEN];
123 uint8_t structVersion; 123 uint8_t structVersion;
124 uint8_t structData[2041]; 124 uint8_t structData[2041];
125} __attribute__ ((packed)); 125} __packed;
126 126
127/* Boot Descriptor (ECMA 167r3 2/9.4) */ 127/* Boot Descriptor (ECMA 167r3 2/9.4) */
128struct bootDesc { 128struct bootDesc {
@@ -140,7 +140,7 @@ struct bootDesc {
140 __le16 flags; 140 __le16 flags;
141 uint8_t reserved2[32]; 141 uint8_t reserved2[32];
142 uint8_t bootUse[1906]; 142 uint8_t bootUse[1906];
143} __attribute__ ((packed)); 143} __packed;
144 144
145/* Flags (ECMA 167r3 2/9.4.12) */ 145/* Flags (ECMA 167r3 2/9.4.12) */
146#define BOOT_FLAGS_ERASE 0x01 146#define BOOT_FLAGS_ERASE 0x01
@@ -149,7 +149,7 @@ struct bootDesc {
149struct extent_ad { 149struct extent_ad {
150 __le32 extLength; 150 __le32 extLength;
151 __le32 extLocation; 151 __le32 extLocation;
152} __attribute__ ((packed)); 152} __packed;
153 153
154struct kernel_extent_ad { 154struct kernel_extent_ad {
155 uint32_t extLength; 155 uint32_t extLength;
@@ -166,7 +166,7 @@ struct tag {
166 __le16 descCRC; 166 __le16 descCRC;
167 __le16 descCRCLength; 167 __le16 descCRCLength;
168 __le32 tagLocation; 168 __le32 tagLocation;
169} __attribute__ ((packed)); 169} __packed;
170 170
171/* Tag Identifier (ECMA 167r3 3/7.2.1) */ 171/* Tag Identifier (ECMA 167r3 3/7.2.1) */
172#define TAG_IDENT_PVD 0x0001 172#define TAG_IDENT_PVD 0x0001
@@ -186,7 +186,7 @@ struct NSRDesc {
186 uint8_t structVersion; 186 uint8_t structVersion;
187 uint8_t reserved; 187 uint8_t reserved;
188 uint8_t structData[2040]; 188 uint8_t structData[2040];
189} __attribute__ ((packed)); 189} __packed;
190 190
191/* Primary Volume Descriptor (ECMA 167r3 3/10.1) */ 191/* Primary Volume Descriptor (ECMA 167r3 3/10.1) */
192struct primaryVolDesc { 192struct primaryVolDesc {
@@ -212,7 +212,7 @@ struct primaryVolDesc {
212 __le32 predecessorVolDescSeqLocation; 212 __le32 predecessorVolDescSeqLocation;
213 __le16 flags; 213 __le16 flags;
214 uint8_t reserved[22]; 214 uint8_t reserved[22];
215} __attribute__ ((packed)); 215} __packed;
216 216
217/* Flags (ECMA 167r3 3/10.1.21) */ 217/* Flags (ECMA 167r3 3/10.1.21) */
218#define PVD_FLAGS_VSID_COMMON 0x0001 218#define PVD_FLAGS_VSID_COMMON 0x0001
@@ -223,7 +223,7 @@ struct anchorVolDescPtr {
223 struct extent_ad mainVolDescSeqExt; 223 struct extent_ad mainVolDescSeqExt;
224 struct extent_ad reserveVolDescSeqExt; 224 struct extent_ad reserveVolDescSeqExt;
225 uint8_t reserved[480]; 225 uint8_t reserved[480];
226} __attribute__ ((packed)); 226} __packed;
227 227
228/* Volume Descriptor Pointer (ECMA 167r3 3/10.3) */ 228/* Volume Descriptor Pointer (ECMA 167r3 3/10.3) */
229struct volDescPtr { 229struct volDescPtr {
@@ -231,7 +231,7 @@ struct volDescPtr {
231 __le32 volDescSeqNum; 231 __le32 volDescSeqNum;
232 struct extent_ad nextVolDescSeqExt; 232 struct extent_ad nextVolDescSeqExt;
233 uint8_t reserved[484]; 233 uint8_t reserved[484];
234} __attribute__ ((packed)); 234} __packed;
235 235
236/* Implementation Use Volume Descriptor (ECMA 167r3 3/10.4) */ 236/* Implementation Use Volume Descriptor (ECMA 167r3 3/10.4) */
237struct impUseVolDesc { 237struct impUseVolDesc {
@@ -239,7 +239,7 @@ struct impUseVolDesc {
239 __le32 volDescSeqNum; 239 __le32 volDescSeqNum;
240 struct regid impIdent; 240 struct regid impIdent;
241 uint8_t impUse[460]; 241 uint8_t impUse[460];
242} __attribute__ ((packed)); 242} __packed;
243 243
244/* Partition Descriptor (ECMA 167r3 3/10.5) */ 244/* Partition Descriptor (ECMA 167r3 3/10.5) */
245struct partitionDesc { 245struct partitionDesc {
@@ -255,7 +255,7 @@ struct partitionDesc {
255 struct regid impIdent; 255 struct regid impIdent;
256 uint8_t impUse[128]; 256 uint8_t impUse[128];
257 uint8_t reserved[156]; 257 uint8_t reserved[156];
258} __attribute__ ((packed)); 258} __packed;
259 259
260/* Partition Flags (ECMA 167r3 3/10.5.3) */ 260/* Partition Flags (ECMA 167r3 3/10.5.3) */
261#define PD_PARTITION_FLAGS_ALLOC 0x0001 261#define PD_PARTITION_FLAGS_ALLOC 0x0001
@@ -291,14 +291,14 @@ struct logicalVolDesc {
291 uint8_t impUse[128]; 291 uint8_t impUse[128];
292 struct extent_ad integritySeqExt; 292 struct extent_ad integritySeqExt;
293 uint8_t partitionMaps[0]; 293 uint8_t partitionMaps[0];
294} __attribute__ ((packed)); 294} __packed;
295 295
296/* Generic Partition Map (ECMA 167r3 3/10.7.1) */ 296/* Generic Partition Map (ECMA 167r3 3/10.7.1) */
297struct genericPartitionMap { 297struct genericPartitionMap {
298 uint8_t partitionMapType; 298 uint8_t partitionMapType;
299 uint8_t partitionMapLength; 299 uint8_t partitionMapLength;
300 uint8_t partitionMapping[0]; 300 uint8_t partitionMapping[0];
301} __attribute__ ((packed)); 301} __packed;
302 302
303/* Partition Map Type (ECMA 167r3 3/10.7.1.1) */ 303/* Partition Map Type (ECMA 167r3 3/10.7.1.1) */
304#define GP_PARTITION_MAP_TYPE_UNDEF 0x00 304#define GP_PARTITION_MAP_TYPE_UNDEF 0x00
@@ -311,14 +311,14 @@ struct genericPartitionMap1 {
311 uint8_t partitionMapLength; 311 uint8_t partitionMapLength;
312 __le16 volSeqNum; 312 __le16 volSeqNum;
313 __le16 partitionNum; 313 __le16 partitionNum;
314} __attribute__ ((packed)); 314} __packed;
315 315
316/* Type 2 Partition Map (ECMA 167r3 3/10.7.3) */ 316/* Type 2 Partition Map (ECMA 167r3 3/10.7.3) */
317struct genericPartitionMap2 { 317struct genericPartitionMap2 {
318 uint8_t partitionMapType; 318 uint8_t partitionMapType;
319 uint8_t partitionMapLength; 319 uint8_t partitionMapLength;
320 uint8_t partitionIdent[62]; 320 uint8_t partitionIdent[62];
321} __attribute__ ((packed)); 321} __packed;
322 322
323/* Unallocated Space Descriptor (ECMA 167r3 3/10.8) */ 323/* Unallocated Space Descriptor (ECMA 167r3 3/10.8) */
324struct unallocSpaceDesc { 324struct unallocSpaceDesc {
@@ -326,13 +326,13 @@ struct unallocSpaceDesc {
326 __le32 volDescSeqNum; 326 __le32 volDescSeqNum;
327 __le32 numAllocDescs; 327 __le32 numAllocDescs;
328 struct extent_ad allocDescs[0]; 328 struct extent_ad allocDescs[0];
329} __attribute__ ((packed)); 329} __packed;
330 330
331/* Terminating Descriptor (ECMA 167r3 3/10.9) */ 331/* Terminating Descriptor (ECMA 167r3 3/10.9) */
332struct terminatingDesc { 332struct terminatingDesc {
333 struct tag descTag; 333 struct tag descTag;
334 uint8_t reserved[496]; 334 uint8_t reserved[496];
335} __attribute__ ((packed)); 335} __packed;
336 336
337/* Logical Volume Integrity Descriptor (ECMA 167r3 3/10.10) */ 337/* Logical Volume Integrity Descriptor (ECMA 167r3 3/10.10) */
338struct logicalVolIntegrityDesc { 338struct logicalVolIntegrityDesc {
@@ -346,7 +346,7 @@ struct logicalVolIntegrityDesc {
346 __le32 freeSpaceTable[0]; 346 __le32 freeSpaceTable[0];
347 __le32 sizeTable[0]; 347 __le32 sizeTable[0];
348 uint8_t impUse[0]; 348 uint8_t impUse[0];
349} __attribute__ ((packed)); 349} __packed;
350 350
351/* Integrity Type (ECMA 167r3 3/10.10.3) */ 351/* Integrity Type (ECMA 167r3 3/10.10.3) */
352#define LVID_INTEGRITY_TYPE_OPEN 0x00000000 352#define LVID_INTEGRITY_TYPE_OPEN 0x00000000
@@ -356,7 +356,7 @@ struct logicalVolIntegrityDesc {
356struct lb_addr { 356struct lb_addr {
357 __le32 logicalBlockNum; 357 __le32 logicalBlockNum;
358 __le16 partitionReferenceNum; 358 __le16 partitionReferenceNum;
359} __attribute__ ((packed)); 359} __packed;
360 360
361/* ... and its in-core analog */ 361/* ... and its in-core analog */
362struct kernel_lb_addr { 362struct kernel_lb_addr {
@@ -368,14 +368,14 @@ struct kernel_lb_addr {
368struct short_ad { 368struct short_ad {
369 __le32 extLength; 369 __le32 extLength;
370 __le32 extPosition; 370 __le32 extPosition;
371} __attribute__ ((packed)); 371} __packed;
372 372
373/* Long Allocation Descriptor (ECMA 167r3 4/14.14.2) */ 373/* Long Allocation Descriptor (ECMA 167r3 4/14.14.2) */
374struct long_ad { 374struct long_ad {
375 __le32 extLength; 375 __le32 extLength;
376 struct lb_addr extLocation; 376 struct lb_addr extLocation;
377 uint8_t impUse[6]; 377 uint8_t impUse[6];
378} __attribute__ ((packed)); 378} __packed;
379 379
380struct kernel_long_ad { 380struct kernel_long_ad {
381 uint32_t extLength; 381 uint32_t extLength;
@@ -389,7 +389,7 @@ struct ext_ad {
389 __le32 recordedLength; 389 __le32 recordedLength;
390 __le32 informationLength; 390 __le32 informationLength;
391 struct lb_addr extLocation; 391 struct lb_addr extLocation;
392} __attribute__ ((packed)); 392} __packed;
393 393
394struct kernel_ext_ad { 394struct kernel_ext_ad {
395 uint32_t extLength; 395 uint32_t extLength;
@@ -434,7 +434,7 @@ struct fileSetDesc {
434 struct long_ad nextExt; 434 struct long_ad nextExt;
435 struct long_ad streamDirectoryICB; 435 struct long_ad streamDirectoryICB;
436 uint8_t reserved[32]; 436 uint8_t reserved[32];
437} __attribute__ ((packed)); 437} __packed;
438 438
439/* Partition Header Descriptor (ECMA 167r3 4/14.3) */ 439/* Partition Header Descriptor (ECMA 167r3 4/14.3) */
440struct partitionHeaderDesc { 440struct partitionHeaderDesc {
@@ -444,7 +444,7 @@ struct partitionHeaderDesc {
444 struct short_ad freedSpaceTable; 444 struct short_ad freedSpaceTable;
445 struct short_ad freedSpaceBitmap; 445 struct short_ad freedSpaceBitmap;
446 uint8_t reserved[88]; 446 uint8_t reserved[88];
447} __attribute__ ((packed)); 447} __packed;
448 448
449/* File Identifier Descriptor (ECMA 167r3 4/14.4) */ 449/* File Identifier Descriptor (ECMA 167r3 4/14.4) */
450struct fileIdentDesc { 450struct fileIdentDesc {
@@ -457,7 +457,7 @@ struct fileIdentDesc {
457 uint8_t impUse[0]; 457 uint8_t impUse[0];
458 uint8_t fileIdent[0]; 458 uint8_t fileIdent[0];
459 uint8_t padding[0]; 459 uint8_t padding[0];
460} __attribute__ ((packed)); 460} __packed;
461 461
462/* File Characteristics (ECMA 167r3 4/14.4.3) */ 462/* File Characteristics (ECMA 167r3 4/14.4.3) */
463#define FID_FILE_CHAR_HIDDEN 0x01 463#define FID_FILE_CHAR_HIDDEN 0x01
@@ -471,7 +471,7 @@ struct allocExtDesc {
471 struct tag descTag; 471 struct tag descTag;
472 __le32 previousAllocExtLocation; 472 __le32 previousAllocExtLocation;
473 __le32 lengthAllocDescs; 473 __le32 lengthAllocDescs;
474} __attribute__ ((packed)); 474} __packed;
475 475
476/* ICB Tag (ECMA 167r3 4/14.6) */ 476/* ICB Tag (ECMA 167r3 4/14.6) */
477struct icbtag { 477struct icbtag {
@@ -483,7 +483,7 @@ struct icbtag {
483 uint8_t fileType; 483 uint8_t fileType;
484 struct lb_addr parentICBLocation; 484 struct lb_addr parentICBLocation;
485 __le16 flags; 485 __le16 flags;
486} __attribute__ ((packed)); 486} __packed;
487 487
488/* Strategy Type (ECMA 167r3 4/14.6.2) */ 488/* Strategy Type (ECMA 167r3 4/14.6.2) */
489#define ICBTAG_STRATEGY_TYPE_UNDEF 0x0000 489#define ICBTAG_STRATEGY_TYPE_UNDEF 0x0000
@@ -531,13 +531,13 @@ struct indirectEntry {
531 struct tag descTag; 531 struct tag descTag;
532 struct icbtag icbTag; 532 struct icbtag icbTag;
533 struct long_ad indirectICB; 533 struct long_ad indirectICB;
534} __attribute__ ((packed)); 534} __packed;
535 535
536/* Terminal Entry (ECMA 167r3 4/14.8) */ 536/* Terminal Entry (ECMA 167r3 4/14.8) */
537struct terminalEntry { 537struct terminalEntry {
538 struct tag descTag; 538 struct tag descTag;
539 struct icbtag icbTag; 539 struct icbtag icbTag;
540} __attribute__ ((packed)); 540} __packed;
541 541
542/* File Entry (ECMA 167r3 4/14.9) */ 542/* File Entry (ECMA 167r3 4/14.9) */
543struct fileEntry { 543struct fileEntry {
@@ -563,7 +563,7 @@ struct fileEntry {
563 __le32 lengthAllocDescs; 563 __le32 lengthAllocDescs;
564 uint8_t extendedAttr[0]; 564 uint8_t extendedAttr[0];
565 uint8_t allocDescs[0]; 565 uint8_t allocDescs[0];
566} __attribute__ ((packed)); 566} __packed;
567 567
568/* Permissions (ECMA 167r3 4/14.9.5) */ 568/* Permissions (ECMA 167r3 4/14.9.5) */
569#define FE_PERM_O_EXEC 0x00000001U 569#define FE_PERM_O_EXEC 0x00000001U
@@ -607,7 +607,7 @@ struct extendedAttrHeaderDesc {
607 struct tag descTag; 607 struct tag descTag;
608 __le32 impAttrLocation; 608 __le32 impAttrLocation;
609 __le32 appAttrLocation; 609 __le32 appAttrLocation;
610} __attribute__ ((packed)); 610} __packed;
611 611
612/* Generic Format (ECMA 167r3 4/14.10.2) */ 612/* Generic Format (ECMA 167r3 4/14.10.2) */
613struct genericFormat { 613struct genericFormat {
@@ -616,7 +616,7 @@ struct genericFormat {
616 uint8_t reserved[3]; 616 uint8_t reserved[3];
617 __le32 attrLength; 617 __le32 attrLength;
618 uint8_t attrData[0]; 618 uint8_t attrData[0];
619} __attribute__ ((packed)); 619} __packed;
620 620
621/* Character Set Information (ECMA 167r3 4/14.10.3) */ 621/* Character Set Information (ECMA 167r3 4/14.10.3) */
622struct charSetInfo { 622struct charSetInfo {
@@ -627,7 +627,7 @@ struct charSetInfo {
627 __le32 escapeSeqLength; 627 __le32 escapeSeqLength;
628 uint8_t charSetType; 628 uint8_t charSetType;
629 uint8_t escapeSeq[0]; 629 uint8_t escapeSeq[0];
630} __attribute__ ((packed)); 630} __packed;
631 631
632/* Alternate Permissions (ECMA 167r3 4/14.10.4) */ 632/* Alternate Permissions (ECMA 167r3 4/14.10.4) */
633struct altPerms { 633struct altPerms {
@@ -638,7 +638,7 @@ struct altPerms {
638 __le16 ownerIdent; 638 __le16 ownerIdent;
639 __le16 groupIdent; 639 __le16 groupIdent;
640 __le16 permission; 640 __le16 permission;
641} __attribute__ ((packed)); 641} __packed;
642 642
643/* File Times Extended Attribute (ECMA 167r3 4/14.10.5) */ 643/* File Times Extended Attribute (ECMA 167r3 4/14.10.5) */
644struct fileTimesExtAttr { 644struct fileTimesExtAttr {
@@ -649,7 +649,7 @@ struct fileTimesExtAttr {
649 __le32 dataLength; 649 __le32 dataLength;
650 __le32 fileTimeExistence; 650 __le32 fileTimeExistence;
651 uint8_t fileTimes; 651 uint8_t fileTimes;
652} __attribute__ ((packed)); 652} __packed;
653 653
654/* FileTimeExistence (ECMA 167r3 4/14.10.5.6) */ 654/* FileTimeExistence (ECMA 167r3 4/14.10.5.6) */
655#define FTE_CREATION 0x00000001 655#define FTE_CREATION 0x00000001
@@ -666,7 +666,7 @@ struct infoTimesExtAttr {
666 __le32 dataLength; 666 __le32 dataLength;
667 __le32 infoTimeExistence; 667 __le32 infoTimeExistence;
668 uint8_t infoTimes[0]; 668 uint8_t infoTimes[0];
669} __attribute__ ((packed)); 669} __packed;
670 670
671/* Device Specification (ECMA 167r3 4/14.10.7) */ 671/* Device Specification (ECMA 167r3 4/14.10.7) */
672struct deviceSpec { 672struct deviceSpec {
@@ -678,7 +678,7 @@ struct deviceSpec {
678 __le32 majorDeviceIdent; 678 __le32 majorDeviceIdent;
679 __le32 minorDeviceIdent; 679 __le32 minorDeviceIdent;
680 uint8_t impUse[0]; 680 uint8_t impUse[0];
681} __attribute__ ((packed)); 681} __packed;
682 682
683/* Implementation Use Extended Attr (ECMA 167r3 4/14.10.8) */ 683/* Implementation Use Extended Attr (ECMA 167r3 4/14.10.8) */
684struct impUseExtAttr { 684struct impUseExtAttr {
@@ -689,7 +689,7 @@ struct impUseExtAttr {
689 __le32 impUseLength; 689 __le32 impUseLength;
690 struct regid impIdent; 690 struct regid impIdent;
691 uint8_t impUse[0]; 691 uint8_t impUse[0];
692} __attribute__ ((packed)); 692} __packed;
693 693
694/* Application Use Extended Attribute (ECMA 167r3 4/14.10.9) */ 694/* Application Use Extended Attribute (ECMA 167r3 4/14.10.9) */
695struct appUseExtAttr { 695struct appUseExtAttr {
@@ -700,7 +700,7 @@ struct appUseExtAttr {
700 __le32 appUseLength; 700 __le32 appUseLength;
701 struct regid appIdent; 701 struct regid appIdent;
702 uint8_t appUse[0]; 702 uint8_t appUse[0];
703} __attribute__ ((packed)); 703} __packed;
704 704
705#define EXTATTR_CHAR_SET 1 705#define EXTATTR_CHAR_SET 1
706#define EXTATTR_ALT_PERMS 3 706#define EXTATTR_ALT_PERMS 3
@@ -716,7 +716,7 @@ struct unallocSpaceEntry {
716 struct icbtag icbTag; 716 struct icbtag icbTag;
717 __le32 lengthAllocDescs; 717 __le32 lengthAllocDescs;
718 uint8_t allocDescs[0]; 718 uint8_t allocDescs[0];
719} __attribute__ ((packed)); 719} __packed;
720 720
721/* Space Bitmap Descriptor (ECMA 167r3 4/14.12) */ 721/* Space Bitmap Descriptor (ECMA 167r3 4/14.12) */
722struct spaceBitmapDesc { 722struct spaceBitmapDesc {
@@ -724,7 +724,7 @@ struct spaceBitmapDesc {
724 __le32 numOfBits; 724 __le32 numOfBits;
725 __le32 numOfBytes; 725 __le32 numOfBytes;
726 uint8_t bitmap[0]; 726 uint8_t bitmap[0];
727} __attribute__ ((packed)); 727} __packed;
728 728
729/* Partition Integrity Entry (ECMA 167r3 4/14.13) */ 729/* Partition Integrity Entry (ECMA 167r3 4/14.13) */
730struct partitionIntegrityEntry { 730struct partitionIntegrityEntry {
@@ -735,7 +735,7 @@ struct partitionIntegrityEntry {
735 uint8_t reserved[175]; 735 uint8_t reserved[175];
736 struct regid impIdent; 736 struct regid impIdent;
737 uint8_t impUse[256]; 737 uint8_t impUse[256];
738} __attribute__ ((packed)); 738} __packed;
739 739
740/* Short Allocation Descriptor (ECMA 167r3 4/14.14.1) */ 740/* Short Allocation Descriptor (ECMA 167r3 4/14.14.1) */
741 741
@@ -753,7 +753,7 @@ struct partitionIntegrityEntry {
753struct logicalVolHeaderDesc { 753struct logicalVolHeaderDesc {
754 __le64 uniqueID; 754 __le64 uniqueID;
755 uint8_t reserved[24]; 755 uint8_t reserved[24];
756} __attribute__ ((packed)); 756} __packed;
757 757
758/* Path Component (ECMA 167r3 4/14.16.1) */ 758/* Path Component (ECMA 167r3 4/14.16.1) */
759struct pathComponent { 759struct pathComponent {
@@ -761,7 +761,7 @@ struct pathComponent {
761 uint8_t lengthComponentIdent; 761 uint8_t lengthComponentIdent;
762 __le16 componentFileVersionNum; 762 __le16 componentFileVersionNum;
763 dstring componentIdent[0]; 763 dstring componentIdent[0];
764} __attribute__ ((packed)); 764} __packed;
765 765
766/* File Entry (ECMA 167r3 4/14.17) */ 766/* File Entry (ECMA 167r3 4/14.17) */
767struct extendedFileEntry { 767struct extendedFileEntry {
@@ -791,6 +791,6 @@ struct extendedFileEntry {
791 __le32 lengthAllocDescs; 791 __le32 lengthAllocDescs;
792 uint8_t extendedAttr[0]; 792 uint8_t extendedAttr[0];
793 uint8_t allocDescs[0]; 793 uint8_t allocDescs[0];
794} __attribute__ ((packed)); 794} __packed;
795 795
796#endif /* _ECMA_167_H */ 796#endif /* _ECMA_167_H */
diff --git a/fs/udf/osta_udf.h b/fs/udf/osta_udf.h
index fbff74654df2..a4da59e38b7f 100644
--- a/fs/udf/osta_udf.h
+++ b/fs/udf/osta_udf.h
@@ -70,17 +70,17 @@ struct UDFIdentSuffix {
70 uint8_t OSClass; 70 uint8_t OSClass;
71 uint8_t OSIdentifier; 71 uint8_t OSIdentifier;
72 uint8_t reserved[4]; 72 uint8_t reserved[4];
73} __attribute__ ((packed)); 73} __packed;
74 74
75struct impIdentSuffix { 75struct impIdentSuffix {
76 uint8_t OSClass; 76 uint8_t OSClass;
77 uint8_t OSIdentifier; 77 uint8_t OSIdentifier;
78 uint8_t reserved[6]; 78 uint8_t reserved[6];
79} __attribute__ ((packed)); 79} __packed;
80 80
81struct appIdentSuffix { 81struct appIdentSuffix {
82 uint8_t impUse[8]; 82 uint8_t impUse[8];
83} __attribute__ ((packed)); 83} __packed;
84 84
85/* Logical Volume Integrity Descriptor (UDF 2.50 2.2.6) */ 85/* Logical Volume Integrity Descriptor (UDF 2.50 2.2.6) */
86/* Implementation Use (UDF 2.50 2.2.6.4) */ 86/* Implementation Use (UDF 2.50 2.2.6.4) */
@@ -92,7 +92,7 @@ struct logicalVolIntegrityDescImpUse {
92 __le16 minUDFWriteRev; 92 __le16 minUDFWriteRev;
93 __le16 maxUDFWriteRev; 93 __le16 maxUDFWriteRev;
94 uint8_t impUse[0]; 94 uint8_t impUse[0];
95} __attribute__ ((packed)); 95} __packed;
96 96
97/* Implementation Use Volume Descriptor (UDF 2.50 2.2.7) */ 97/* Implementation Use Volume Descriptor (UDF 2.50 2.2.7) */
98/* Implementation Use (UDF 2.50 2.2.7.2) */ 98/* Implementation Use (UDF 2.50 2.2.7.2) */
@@ -104,7 +104,7 @@ struct impUseVolDescImpUse {
104 dstring LVInfo3[36]; 104 dstring LVInfo3[36];
105 struct regid impIdent; 105 struct regid impIdent;
106 uint8_t impUse[128]; 106 uint8_t impUse[128];
107} __attribute__ ((packed)); 107} __packed;
108 108
109struct udfPartitionMap2 { 109struct udfPartitionMap2 {
110 uint8_t partitionMapType; 110 uint8_t partitionMapType;
@@ -113,7 +113,7 @@ struct udfPartitionMap2 {
113 struct regid partIdent; 113 struct regid partIdent;
114 __le16 volSeqNum; 114 __le16 volSeqNum;
115 __le16 partitionNum; 115 __le16 partitionNum;
116} __attribute__ ((packed)); 116} __packed;
117 117
118/* Virtual Partition Map (UDF 2.50 2.2.8) */ 118/* Virtual Partition Map (UDF 2.50 2.2.8) */
119struct virtualPartitionMap { 119struct virtualPartitionMap {
@@ -124,7 +124,7 @@ struct virtualPartitionMap {
124 __le16 volSeqNum; 124 __le16 volSeqNum;
125 __le16 partitionNum; 125 __le16 partitionNum;
126 uint8_t reserved2[24]; 126 uint8_t reserved2[24];
127} __attribute__ ((packed)); 127} __packed;
128 128
129/* Sparable Partition Map (UDF 2.50 2.2.9) */ 129/* Sparable Partition Map (UDF 2.50 2.2.9) */
130struct sparablePartitionMap { 130struct sparablePartitionMap {
@@ -139,7 +139,7 @@ struct sparablePartitionMap {
139 uint8_t reserved2[1]; 139 uint8_t reserved2[1];
140 __le32 sizeSparingTable; 140 __le32 sizeSparingTable;
141 __le32 locSparingTable[4]; 141 __le32 locSparingTable[4];
142} __attribute__ ((packed)); 142} __packed;
143 143
144/* Metadata Partition Map (UDF 2.4.0 2.2.10) */ 144/* Metadata Partition Map (UDF 2.4.0 2.2.10) */
145struct metadataPartitionMap { 145struct metadataPartitionMap {
@@ -156,14 +156,14 @@ struct metadataPartitionMap {
156 __le16 alignUnitSize; 156 __le16 alignUnitSize;
157 uint8_t flags; 157 uint8_t flags;
158 uint8_t reserved2[5]; 158 uint8_t reserved2[5];
159} __attribute__ ((packed)); 159} __packed;
160 160
161/* Virtual Allocation Table (UDF 1.5 2.2.10) */ 161/* Virtual Allocation Table (UDF 1.5 2.2.10) */
162struct virtualAllocationTable15 { 162struct virtualAllocationTable15 {
163 __le32 VirtualSector[0]; 163 __le32 VirtualSector[0];
164 struct regid vatIdent; 164 struct regid vatIdent;
165 __le32 previousVATICBLoc; 165 __le32 previousVATICBLoc;
166} __attribute__ ((packed)); 166} __packed;
167 167
168#define ICBTAG_FILE_TYPE_VAT15 0x00U 168#define ICBTAG_FILE_TYPE_VAT15 0x00U
169 169
@@ -181,7 +181,7 @@ struct virtualAllocationTable20 {
181 __le16 reserved; 181 __le16 reserved;
182 uint8_t impUse[0]; 182 uint8_t impUse[0];
183 __le32 vatEntry[0]; 183 __le32 vatEntry[0];
184} __attribute__ ((packed)); 184} __packed;
185 185
186#define ICBTAG_FILE_TYPE_VAT20 0xF8U 186#define ICBTAG_FILE_TYPE_VAT20 0xF8U
187 187
@@ -189,7 +189,7 @@ struct virtualAllocationTable20 {
189struct sparingEntry { 189struct sparingEntry {
190 __le32 origLocation; 190 __le32 origLocation;
191 __le32 mappedLocation; 191 __le32 mappedLocation;
192} __attribute__ ((packed)); 192} __packed;
193 193
194struct sparingTable { 194struct sparingTable {
195 struct tag descTag; 195 struct tag descTag;
@@ -199,7 +199,7 @@ struct sparingTable {
199 __le32 sequenceNum; 199 __le32 sequenceNum;
200 struct sparingEntry 200 struct sparingEntry
201 mapEntry[0]; 201 mapEntry[0];
202} __attribute__ ((packed)); 202} __packed;
203 203
204/* Metadata File (and Metadata Mirror File) (UDF 2.50 2.2.13.1) */ 204/* Metadata File (and Metadata Mirror File) (UDF 2.50 2.2.13.1) */
205#define ICBTAG_FILE_TYPE_MAIN 0xFA 205#define ICBTAG_FILE_TYPE_MAIN 0xFA
@@ -210,7 +210,7 @@ struct sparingTable {
210struct allocDescImpUse { 210struct allocDescImpUse {
211 __le16 flags; 211 __le16 flags;
212 uint8_t impUse[4]; 212 uint8_t impUse[4];
213} __attribute__ ((packed)); 213} __packed;
214 214
215#define AD_IU_EXT_ERASED 0x0001 215#define AD_IU_EXT_ERASED 0x0001
216 216
@@ -222,7 +222,7 @@ struct allocDescImpUse {
222struct freeEaSpace { 222struct freeEaSpace {
223 __le16 headerChecksum; 223 __le16 headerChecksum;
224 uint8_t freeEASpace[0]; 224 uint8_t freeEASpace[0];
225} __attribute__ ((packed)); 225} __packed;
226 226
227/* DVD Copyright Management Information (UDF 2.50 3.3.4.5.1.2) */ 227/* DVD Copyright Management Information (UDF 2.50 3.3.4.5.1.2) */
228struct DVDCopyrightImpUse { 228struct DVDCopyrightImpUse {
@@ -230,14 +230,14 @@ struct DVDCopyrightImpUse {
230 uint8_t CGMSInfo; 230 uint8_t CGMSInfo;
231 uint8_t dataType; 231 uint8_t dataType;
232 uint8_t protectionSystemInfo[4]; 232 uint8_t protectionSystemInfo[4];
233} __attribute__ ((packed)); 233} __packed;
234 234
235/* Application Use Extended Attribute (UDF 2.50 3.3.4.6) */ 235/* Application Use Extended Attribute (UDF 2.50 3.3.4.6) */
236/* FreeAppEASpace (UDF 2.50 3.3.4.6.1) */ 236/* FreeAppEASpace (UDF 2.50 3.3.4.6.1) */
237struct freeAppEASpace { 237struct freeAppEASpace {
238 __le16 headerChecksum; 238 __le16 headerChecksum;
239 uint8_t freeEASpace[0]; 239 uint8_t freeEASpace[0];
240} __attribute__ ((packed)); 240} __packed;
241 241
242/* UDF Defined System Stream (UDF 2.50 3.3.7) */ 242/* UDF Defined System Stream (UDF 2.50 3.3.7) */
243#define UDF_ID_UNIQUE_ID "*UDF Unique ID Mapping Data" 243#define UDF_ID_UNIQUE_ID "*UDF Unique ID Mapping Data"