File: drbd_meta_data.h

package info (click to toggle)
drbd-utils 9.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 5,388 kB
  • sloc: ansic: 43,698; xml: 15,968; cpp: 7,783; sh: 3,699; makefile: 1,353; perl: 353
file content (58 lines) | stat: -rw-r--r-- 1,419 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef DRBD_META_DATA_H
#define DRBD_META_DATA_H

#ifdef __KERNEL__
#define be_u64 u64
#define be_u32 u32
#define be_s32 s32
#define be_u16 u16
#else
#define be_u64 struct { uint64_t be; }
#define be_u32 struct { uint32_t be; }
#define be_s32 struct { int32_t be; }
#define be_u16 struct { uint16_t be; }
#endif

struct peer_dev_md_on_disk_9 {
	be_u64 bitmap_uuid;
	be_u64 bitmap_dagtag;
	be_u32 flags;
	be_s32 bitmap_index;
	be_u32 reserved_u32[2];
} __packed;

struct meta_data_on_disk_9 {
	be_u64 effective_size;    /* last agreed size */
	be_u64 current_uuid;
	be_u64 reserved_u64[4];   /* to have the magic at the same position as in v07, and v08 */
	be_u64 device_uuid;
	be_u32 flags;             /* MDF */
	be_u32 magic;
	be_u32 md_size_sect;
	be_u32 al_offset;         /* offset to this block */
	be_u32 al_nr_extents;     /* important for restoring the AL */
	be_u32 bm_offset;         /* offset to the bitmap, from here */
	be_u32 bm_bytes_per_bit;  /* BM_BLOCK_SIZE */
	be_u32 la_peer_max_bio_size;   /* last peer max_bio_size */
	be_u32 bm_max_peers;
	be_s32 node_id;

	/* see al_tr_number_to_on_disk_sector() */
	be_u32 al_stripes;
	be_u32 al_stripe_size_4k;

	be_u32 reserved_u32[2];

	struct peer_dev_md_on_disk_9 peers[DRBD_PEERS_MAX];
	be_u64 history_uuids[HISTORY_UUIDS];

	char padding[0] __attribute__((aligned(4096)));
} __packed;


#undef be_u64
#undef be_u32
#undef be_s32
#undef be_u16

#endif