Commit a88b2358 authored by Joe Thornber's avatar Joe Thornber Committed by Mike Snitzer
Browse files

dm persistent data: packed struct should have an aligned() attribute too



Otherwise most non-x86 architectures (e.g. riscv, arm) will resort to
byte-by-byte access.

Cc: stable@vger.kernel.org
Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
parent f73e2e70
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -34,12 +34,12 @@ struct node_header {
	__le32 max_entries;
	__le32 value_size;
	__le32 padding;
} __packed;
} __attribute__((packed, aligned(8)));

struct btree_node {
	struct node_header header;
	__le64 keys[];
} __packed;
} __attribute__((packed, aligned(8)));


/*
+4 −4
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ struct disk_index_entry {
	__le64 blocknr;
	__le32 nr_free;
	__le32 none_free_before;
} __packed;
} __attribute__ ((packed, aligned(8)));


#define MAX_METADATA_BITMAPS 255
@@ -43,7 +43,7 @@ struct disk_metadata_index {
	__le64 blocknr;

	struct disk_index_entry index[MAX_METADATA_BITMAPS];
} __packed;
} __attribute__ ((packed, aligned(8)));

struct ll_disk;

@@ -86,7 +86,7 @@ struct disk_sm_root {
	__le64 nr_allocated;
	__le64 bitmap_root;
	__le64 ref_count_root;
} __packed;
} __attribute__ ((packed, aligned(8)));

#define ENTRIES_PER_BYTE 4

@@ -94,7 +94,7 @@ struct disk_bitmap_header {
	__le32 csum;
	__le32 not_used;
	__le64 blocknr;
} __packed;
} __attribute__ ((packed, aligned(8)));

enum allocation_event {
	SM_NONE,