*/
#define _GNU_SOURCE
+#define _FILE_OFFSET_BITS 64
#include <unistd.h>
#if !defined(__dietlibc__) && !defined(__KLIBC__)
extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence));
int reshape_active;
unsigned long long reshape_progress;
int new_level, delta_disks, new_layout, new_chunk;
+ int errors;
+ int cache_size; /* size of raid456 stripe cache*/
+ int mismatch_cnt;
+ char text_version[50];
+
+ char sys_name[20];
+ struct mdinfo *devs;
+ struct mdinfo *next;
};
struct createinfo {
extern void map_add(struct map_ent **melp,
int devnum, int major, int minor, int uuid[4], char *path);
-/* Data structure for holding info read from sysfs */
-struct sysdev {
- char name[20];
- int role;
- int major, minor;
- unsigned long long offset, size;
- int state;
- int errors;
- struct sysdev *next;
-};
-struct sysarray {
- char name[20];
- struct sysdev *devs;
- int chunk;
- unsigned long long component_size;
- int layout;
- int level;
- int spares;
- int cache_size;
- int mismatch_cnt;
- int major_version, minor_version;
-};
/* various details can be requested */
#define GET_LEVEL 1
#define GET_LAYOUT 2
/* If fd >= 0, get the array it is open on,
* else use devnum. >=0 -> major9. <0.....
*/
-extern void sysfs_free(struct sysarray *sra);
-extern struct sysarray *sysfs_read(int fd, int devnum, unsigned long options);
-extern int sysfs_set_str(struct sysarray *sra, struct sysdev *dev,
+extern void sysfs_free(struct mdinfo *sra);
+extern struct mdinfo *sysfs_read(int fd, int devnum, unsigned long options);
+extern int sysfs_set_str(struct mdinfo *sra, struct mdinfo *dev,
char *name, char *val);
-extern int sysfs_set_num(struct sysarray *sra, struct sysdev *dev,
+extern int sysfs_set_num(struct mdinfo *sra, struct mdinfo *dev,
char *name, unsigned long long val);
-extern int sysfs_get_ll(struct sysarray *sra, struct sysdev *dev,
+extern int sysfs_get_ll(struct mdinfo *sra, struct mdinfo *dev,
char *name, unsigned long long *val);