]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdadm.h
Fix component size checks in validate_super0.
[thirdparty/mdadm.git] / mdadm.h
diff --git a/mdadm.h b/mdadm.h
index 8277594bdb82cef41c1ed6c7ae85609e9ab46178..8bd007733c9ad10010846dafc45d01344c3a4f37 100644 (file)
--- a/mdadm.h
+++ b/mdadm.h
@@ -507,7 +507,8 @@ extern int save_stripes(int *source, unsigned long long *offsets,
 extern int restore_stripes(int *dest, unsigned long long *offsets,
                           int raid_disks, int chunk_size, int level, int layout,
                           int source, unsigned long long read_offset,
-                          unsigned long long start, unsigned long long length);
+                          unsigned long long start, unsigned long long length,
+                          char *src_buf);
 
 #ifndef Sendmail
 #define Sendmail "/usr/lib/sendmail -t"
@@ -616,6 +617,7 @@ extern struct superswitch {
         * (raid_disk must already be set and correct) and it is filled
         * with 1 for slots that are thought to be active and 0 for slots which
         * appear to be failed/missing.
+        * *info is zeroed out before data is added.
         */
        void (*getinfo_super)(struct supertype *st, struct mdinfo *info, char *map);
        struct mdinfo *(*getinfo_super_disks)(struct supertype *st);
@@ -784,6 +786,9 @@ extern struct superswitch {
         */
        const char *(*get_disk_controller_domain)(const char *path);
 
+       /* for external backup area */
+       int (*recover_backup)(struct supertype *st, struct mdinfo *info);
+
        int swapuuid; /* true if uuid is bigending rather than hostendian */
        int external;
        const char *name; /* canonical metadata name */
@@ -1013,7 +1018,7 @@ extern int Grow_reshape(char *devname, int fd, int quiet, char *backup_file,
                        long long size,
                        int level, char *layout_str, int chunksize, int raid_disks,
                        struct mddev_dev *devlist,
-                       int force);
+                       int assume_clean, int force);
 extern int Grow_restart(struct supertype *st, struct mdinfo *info,
                        int *fdlist, int cnt, char *backup_file, int verbose);
 extern int Grow_continue(int mdfd, struct supertype *st,
@@ -1188,6 +1193,7 @@ extern int child_monitor(int afd, struct mdinfo *sra, struct reshape *reshape,
                         struct supertype *st, unsigned long stripes,
                         int *fds, unsigned long long *offsets,
                         int dests, int *destfd, unsigned long long *destoffsets);
+void abort_reshape(struct mdinfo *sra);
 
 extern char *devnum2devname(int num);
 extern void fmt_devname(char *name, int num);
@@ -1339,3 +1345,5 @@ static inline int xasprintf(char **strp, const char *fmt, ...) {
 #define PATH_MAX       4096
 #endif
 
+#define PROCESS_DELAYED -2
+#define PROCESS_PENDING -3