X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fmdadm.git;a=blobdiff_plain;f=mdadm.h;h=61bc7afe036ea4af3632866736b6d6ddc48f1140;hp=191ae8f7552b64030f47f7757d803b73a2ef0c74;hb=1b7eb962db2cf9179d097e06cce74b84ac80e49d;hpb=a822017f30e0dadc60a687900c2aa4da32e09a93 diff --git a/mdadm.h b/mdadm.h index 191ae8f7..61bc7afe 100644 --- a/mdadm.h +++ b/mdadm.h @@ -654,7 +654,7 @@ enum sysfs_read_flags { */ extern int sysfs_open(char *devnm, char *devname, char *attr); extern int sysfs_init(struct mdinfo *mdi, int fd, char *devnm); -extern void sysfs_init_dev(struct mdinfo *mdi, unsigned long devid); +extern void sysfs_init_dev(struct mdinfo *mdi, dev_t devid); extern void sysfs_free(struct mdinfo *sra); extern struct mdinfo *sysfs_read(int fd, char *devnm, unsigned long options); extern int sysfs_attr_match(const char *attr, const char *str); @@ -687,6 +687,7 @@ 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, int len); +extern int zero_disk_range(int fd, unsigned long long sector, size_t count); extern int reshape_prepare_fdlist(char *devname, struct mdinfo *sra, int raid_disks, @@ -1394,7 +1395,7 @@ extern int Kill(char *dev, struct supertype *st, int force, int verbose, int noe extern int Kill_subarray(char *dev, char *subarray, int verbose); extern int Update_subarray(char *dev, char *subarray, char *update, struct mddev_ident *ident, int quiet); extern int Wait(char *dev); -extern int WaitClean(char *dev, int sock, int verbose); +extern int WaitClean(char *dev, int verbose); extern int SetAction(char *dev, char *action); extern int Incremental(struct mddev_dev *devlist, struct context *c, @@ -1433,6 +1434,7 @@ extern int get_linux_version(void); extern int mdadm_version(char *version); extern unsigned long long parse_size(char *size); extern int parse_uuid(char *str, int uuid[4]); +extern int is_near_layout_10(int layout); extern int parse_layout_10(char *layout); extern int parse_layout_faulty(char *layout); extern long parse_num(char *num); @@ -1537,7 +1539,7 @@ extern void print_r10_layout(int layout); extern char *find_free_devnm(int use_partitions); extern void put_md_name(char *name); -extern char *devid2kname(int devid); +extern char *devid2kname(dev_t devid); extern char *devid2devnm(dev_t devid); extern dev_t devnm2devid(char *devnm); extern char *get_md_name(char *devnm); @@ -1602,6 +1604,7 @@ struct dlm_hooks { dlm_lshandle_t (*create_lockspace)(const char *name, unsigned int mode); + dlm_lshandle_t (*open_lockspace)(const char *name); int (*release_lockspace)(const char *name, dlm_lshandle_t ls, int force); int (*ls_lock)(dlm_lshandle_t lockspace, uint32_t mode, @@ -1610,17 +1613,16 @@ struct dlm_hooks { uint32_t parent, void (*astaddr) (void *astarg), void *astarg, void (*bastaddr) (void *astarg), void *range); - int (*ls_unlock)(dlm_lshandle_t lockspace, uint32_t lkid, - uint32_t flags, struct dlm_lksb *lksb, - void *astarg); + int (*ls_unlock_wait)(dlm_lshandle_t lockspace, uint32_t lkid, + uint32_t flags, struct dlm_lksb *lksb); int (*ls_get_fd)(dlm_lshandle_t ls); int (*dispatch)(int fd); }; extern int get_cluster_name(char **name); extern int dlm_funs_ready(void); -extern int cluster_get_dlmlock(int *lockid); -extern int cluster_release_dlmlock(int lockid); +extern int cluster_get_dlmlock(void); +extern int cluster_release_dlmlock(void); extern void set_dlm_hooks(void); #define _ROUND_UP(val, base) (((val) + (base) - 1) & ~(base - 1))