Version 2.03.11 -
==================================
+ Switch code base to use flexible array syntax.
Fix 64bit math when calculation cachevol size.
Preserve uint32_t for seqno handling.
Switch from mmap to plain read when loading regular files.
void *data;
unsigned data_len;
unsigned keylen;
- char key[0];
+ char key[];
};
struct dm_hash_table {
struct prefix_chain {
struct value child;
unsigned len;
- uint8_t prefix[0];
+ uint8_t prefix[];
};
struct node4 {
struct list_head locks;
struct list_head actions;
char lv_args[MAX_ARGS+1];
- char lm_data[0]; /* lock manager specific data */
+ char lm_data[]; /* lock manager specific data */
};
#define LD_LF_PERSISTENT 0x00000001
struct dm_deps {
uint32_t count;
uint32_t filler;
- uint64_t device[0];
+ uint64_t device[];
};
struct dm_names {
uint64_t dev;
uint32_t next; /* Offset to next struct from start of this struct */
- char name[0];
+ char name[];
};
struct dm_versions {
uint32_t next; /* Offset to next struct from start of this struct */
uint32_t version[3];
- char name[0];
+ char name[];
};
int dm_get_library_version(char *version, size_t size);
struct dm_target_deps {
uint32_t count; /* Array size */
uint32_t padding; /* unused */
- uint64_t dev[0]; /* out */
+ uint64_t dev[]; /* out */
};
/*
uint64_t dev;
uint32_t next; /* offset to the next record from
the _start_ of this */
- char name[0];
+ char name[];
};
/*
uint32_t next;
uint32_t version[3];
- char name[0];
+ char name[];
};
/*
struct dm_target_msg {
uint64_t sector; /* Device sector */
- char message[0];
+ char message[];
};
/*
struct dir_list {
struct dm_list list;
- char dir[0];
+ char dir[];
};
static struct {
uint32_t version;
uint32_t flags;
/* NULL-terminated list of bootloader areas */
- struct disk_locn bootloader_areas_xl[0];
+ struct disk_locn bootloader_areas_xl[];
} __attribute__ ((packed));
/* Fields with the suffix _xl should be xlate'd wherever they appear */
/* NULL-terminated list of data areas followed by */
/* NULL-terminated list of metadata area headers */
- struct disk_locn disk_areas_xl[0]; /* Two lists */
+ struct disk_locn disk_areas_xl[]; /* Two lists */
} __attribute__ ((packed));
/*
uint64_t start; /* Absolute start byte of mda_header */
uint64_t size; /* Size of metadata area */
- struct raw_locn raw_locns[0]; /* NULL-terminated list */
+ struct raw_locn raw_locns[]; /* NULL-terminated list */
} __attribute__ ((packed));
struct mda_header *raw_read_mda_header(const struct format_type *fmt,
struct dm_list list;
struct labeller *l;
- char name[0];
+ char name[];
};
static struct dm_list _labellers;
* Contains area_count lists of areas allocated to data stripes
* followed by log_area_count lists of areas allocated to log stripes.
*/
- struct dm_list alloced_areas[0];
+ struct dm_list alloced_areas[];
};
/*
void *data;
unsigned data_len;
unsigned keylen;
- char key[0];
+ char key[];
};
struct dm_hash_table {
struct dm_deps {
uint32_t count;
uint32_t filler;
- uint64_t device[0];
+ uint64_t device[];
};
struct dm_names {
uint64_t dev;
uint32_t next; /* Offset to next struct from start of this struct */
- char name[0];
+ char name[];
};
struct dm_versions {
uint32_t next; /* Offset to next struct from start of this struct */
uint32_t version[3];
- char name[0];
+ char name[];
};
int dm_get_library_version(char *version, size_t size);
const struct dm_stats_region *region;
uint64_t sum; /* Sum of histogram bin counts. */
int nr_bins; /* Number of histogram bins assigned. */
- struct dm_histogram_bin bins[0];
+ struct dm_histogram_bin bins[];
};
/*
struct dm_target_deps {
uint32_t count; /* Array size */
uint32_t padding; /* unused */
- uint64_t dev[0]; /* out */
+ uint64_t dev[]; /* out */
};
/*
uint64_t dev;
uint32_t next; /* offset to the next record from
the _start_ of this */
- char name[0];
+ char name[];
};
/*
uint32_t next;
uint32_t version[3];
- char name[0];
+ char name[];
};
/*
struct dm_target_msg {
uint64_t sector; /* Device sector */
- char message[0];
+ char message[];
};
/*
struct arg_value_group_list {
struct dm_list list;
uint32_t prio;
- struct arg_values arg_values[0];
+ struct arg_values arg_values[];
};
#define PERMITTED_READ_ONLY 0x00000002