From 0a816ef9fb8202707cc76a943678307c252939cf Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Mon, 16 Oct 2006 14:38:13 +1000 Subject: [PATCH] Don't #include blkpg.h Just include the content directly. It is safer. --- ChangeLog | 4 ++++ util.c | 34 +++++++++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5c66158f..e89a0dd5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Changes Prior to this release + - Don't #include linux/blkpg.h as that isn't safe. Just + include the content literally. + Changes Prior to 2.5.4 release - When creating devices in /dev/md/ create matching symlinks from /dev. e.g. /dev/md0 -> /dev/md/0. diff --git a/util.c b/util.c index f3b7a397..1ccf4e16 100644 --- a/util.c +++ b/util.c @@ -31,7 +31,39 @@ #include "md_p.h" #include #include -#include + +/* + * following taken from linux/blkpg.h because they aren't + * anywhere else and it isn't safe to #include linux/ * stuff. + */ + +#define BLKPG _IO(0x12,105) + +/* The argument structure */ +struct blkpg_ioctl_arg { + int op; + int flags; + int datalen; + void *data; +}; + +/* The subfunctions (for the op field) */ +#define BLKPG_ADD_PARTITION 1 +#define BLKPG_DEL_PARTITION 2 + +/* Sizes of name fields. Unused at present. */ +#define BLKPG_DEVNAMELTH 64 +#define BLKPG_VOLNAMELTH 64 + +/* The data structure for ADD_PARTITION and DEL_PARTITION */ +struct blkpg_partition { + long long start; /* starting offset in bytes */ + long long length; /* length in bytes */ + int pno; /* partition number */ + char devname[BLKPG_DEVNAMELTH]; /* partition name, like sda5 or c0d1p2, + to be used in kernel messages */ + char volname[BLKPG_VOLNAMELTH]; /* volume label */ +}; /* * Parse a 128 bit uuid in 4 integers -- 2.39.2