]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdadm.h
sysfs: Avoid if and return on the same line
[thirdparty/mdadm.git] / mdadm.h
diff --git a/mdadm.h b/mdadm.h
index 477ef1831cee206023328e7d66fbc921521b82be..1fd38a37a982b2f8062a7ec175f7faf82e2b1611 100755 (executable)
--- a/mdadm.h
+++ b/mdadm.h
@@ -64,7 +64,6 @@ typedef uint64_t cmap_handle_t;
 #include       <errno.h>
 #else
 #define LKF_NOQUEUE    0x00000001
-#define LKF_CONVERT    0x00000004
 #define LKM_PWMODE     4
 #define EUNLOCK                0x10002
 
@@ -139,20 +138,20 @@ struct dlm_lksb {
  * and there is no standard conversion function so... */
 /* And dietlibc doesn't think byteswap is ok, so.. */
 /*  #include <byteswap.h> */
-#define bswap_16(x) (((x) & 0x00ffU) << 8 | \
-                    ((x) & 0xff00U) >> 8)
-#define bswap_32(x) (((x) & 0x000000ffU) << 24 | \
-                    ((x) & 0xff000000U) >> 24 | \
-                    ((x) & 0x0000ff00U) << 8  | \
-                    ((x) & 0x00ff0000U) >> 8)
-#define bswap_64(x) (((x) & 0x00000000000000ffULL) << 56 | \
-                    ((x) & 0xff00000000000000ULL) >> 56 | \
-                    ((x) & 0x000000000000ff00ULL) << 40 | \
-                    ((x) & 0x00ff000000000000ULL) >> 40 | \
-                    ((x) & 0x0000000000ff0000ULL) << 24 | \
-                    ((x) & 0x0000ff0000000000ULL) >> 24 | \
-                    ((x) & 0x00000000ff000000ULL) << 8 | \
-                    ((x) & 0x000000ff00000000ULL) >> 8)
+#define __mdadm_bswap_16(x) (((x) & 0x00ffU) << 8 | \
+                            ((x) & 0xff00U) >> 8)
+#define __mdadm_bswap_32(x) (((x) & 0x000000ffU) << 24 | \
+                            ((x) & 0xff000000U) >> 24 | \
+                            ((x) & 0x0000ff00U) << 8  | \
+                            ((x) & 0x00ff0000U) >> 8)
+#define __mdadm_bswap_64(x) (((x) & 0x00000000000000ffULL) << 56 | \
+                            ((x) & 0xff00000000000000ULL) >> 56 | \
+                            ((x) & 0x000000000000ff00ULL) << 40 | \
+                            ((x) & 0x00ff000000000000ULL) >> 40 | \
+                            ((x) & 0x0000000000ff0000ULL) << 24 | \
+                            ((x) & 0x0000ff0000000000ULL) >> 24 | \
+                            ((x) & 0x00000000ff000000ULL) << 8 |  \
+                            ((x) & 0x000000ff00000000ULL) >> 8)
 
 #if !defined(__KLIBC__)
 #if BYTE_ORDER == LITTLE_ENDIAN
@@ -163,19 +162,19 @@ struct dlm_lksb {
 #define __le32_to_cpu(_x) (unsigned int)(_x)
 #define __le64_to_cpu(_x) (unsigned long long)(_x)
 
-#define        __cpu_to_be16(_x) bswap_16(_x)
-#define __cpu_to_be32(_x) bswap_32(_x)
-#define __cpu_to_be64(_x) bswap_64(_x)
-#define        __be16_to_cpu(_x) bswap_16(_x)
-#define __be32_to_cpu(_x) bswap_32(_x)
-#define __be64_to_cpu(_x) bswap_64(_x)
+#define        __cpu_to_be16(_x) __mdadm_bswap_16(_x)
+#define __cpu_to_be32(_x) __mdadm_bswap_32(_x)
+#define __cpu_to_be64(_x) __mdadm_bswap_64(_x)
+#define        __be16_to_cpu(_x) __mdadm_bswap_16(_x)
+#define __be32_to_cpu(_x) __mdadm_bswap_32(_x)
+#define __be64_to_cpu(_x) __mdadm_bswap_64(_x)
 #elif BYTE_ORDER == BIG_ENDIAN
-#define        __cpu_to_le16(_x) bswap_16(_x)
-#define __cpu_to_le32(_x) bswap_32(_x)
-#define __cpu_to_le64(_x) bswap_64(_x)
-#define        __le16_to_cpu(_x) bswap_16(_x)
-#define __le32_to_cpu(_x) bswap_32(_x)
-#define __le64_to_cpu(_x) bswap_64(_x)
+#define        __cpu_to_le16(_x) __mdadm_bswap_16(_x)
+#define __cpu_to_le32(_x) __mdadm_bswap_32(_x)
+#define __cpu_to_le64(_x) __mdadm_bswap_64(_x)
+#define        __le16_to_cpu(_x) __mdadm_bswap_16(_x)
+#define __le32_to_cpu(_x) __mdadm_bswap_32(_x)
+#define __le64_to_cpu(_x) __mdadm_bswap_64(_x)
 
 #define        __cpu_to_be16(_x) (unsigned int)(_x)
 #define __cpu_to_be32(_x) (unsigned int)(_x)
@@ -290,7 +289,7 @@ struct mdinfo {
        int container_enough; /* flag external handlers can set to
                               * indicate that subarrays have not enough (-1),
                               * enough to start (0), or all expected disks (1) */
-       char            sys_name[20];
+       char            sys_name[32];
        struct mdinfo *devs;
        struct mdinfo *next;
 
@@ -632,7 +631,7 @@ extern int sysfs_disk_to_scsi_id(int fd, __u32 *id);
 extern int sysfs_unique_holder(char *devnm, long rdev);
 extern int sysfs_freeze_array(struct mdinfo *sra);
 extern int sysfs_wait(int fd, int *msec);
-extern int load_sys(char *path, char *buf);
+extern int load_sys(char *path, char *buf, int len);
 extern int reshape_prepare_fdlist(char *devname,
                                  struct mdinfo *sra,
                                  int raid_disks,
@@ -820,7 +819,8 @@ extern struct superswitch {
         *   readwrite - clear the WriteMostly1 bit in the superblock devflags
         *   no-bitmap - clear any record that a bitmap is present.
         *   bbl       - add a bad-block-log if possible
-        *   no-bbl    - remove and bad-block-log is it is empty.
+        *   no-bbl    - remove any bad-block-log is it is empty.
+        *   force-no-bbl - remove any bad-block-log even if empty.
         *   revert-reshape - If a reshape is in progress, modify metadata so
         *                    it will resume going in the opposite direction.
         */
@@ -896,6 +896,8 @@ extern struct superswitch {
         * created, in which case data_size may be updated, or it might
         * already exist.  Metadata handler can know if init_super
         * has been called, but not write_init_super.
+        *  0:     Success
+        * -Exxxx: On error
         */
        int (*add_internal_bitmap)(struct supertype *st, int *chunkp,
                                   int delay, int write_behind,
@@ -903,7 +905,7 @@ extern struct superswitch {
        /* Seek 'fd' to start of write-intent-bitmap.  Must be an
         * md-native format bitmap
         */
-       void (*locate_bitmap)(struct supertype *st, int fd);
+       int (*locate_bitmap)(struct supertype *st, int fd, int node_num);
        /* if add_internal_bitmap succeeded for existing array, this
         * writes it out.
         */
@@ -1438,8 +1440,8 @@ extern char *find_free_devnm(int use_partitions);
 
 extern void put_md_name(char *name);
 extern char *devid2kname(int devid);
-extern char *devid2devnm(int devid);
-extern int devnm2devid(char *devnm);
+extern char *devid2devnm(dev_t devid);
+extern dev_t devnm2devid(char *devnm);
 extern char *get_md_name(char *devnm);
 
 extern char DefaultConfFile[];
@@ -1474,7 +1476,8 @@ void abort_reshape(struct mdinfo *sra);
 
 void *super1_make_v0(struct supertype *st, struct mdinfo *info, mdp_super_t *sb0);
 
-extern void fmt_devname(char *name, int num);
+extern char *stat2kname(struct stat *st);
+extern char *fd2kname(int fd);
 extern char *stat2devnm(struct stat *st);
 extern char *fd2devnm(int fd);
 
@@ -1514,9 +1517,9 @@ struct dlm_hooks {
 };
 
 extern int get_cluster_name(char **name);
-extern int is_clustered(struct supertype *st);
-extern int cluster_get_dlmlock(struct supertype *st, int *lockid);
-extern int cluster_release_dlmlock(struct supertype *st, int lockid);
+extern int dlm_funs_ready(void);
+extern int cluster_get_dlmlock(int *lockid);
+extern int cluster_release_dlmlock(int lockid);
 extern void set_dlm_hooks(void);
 
 #define _ROUND_UP(val, base)   (((val) + (base) - 1) & ~(base - 1))