md-cluster.h 984 字节
Newer Older
1 2 3 4 5 6 7 8


#ifndef _MD_CLUSTER_H
#define _MD_CLUSTER_H

#include "md.h"

struct mddev;
9
struct md_rdev;
10 11

struct md_cluster_operations {
G
Goldwyn Rodrigues 已提交
12
	int (*join)(struct mddev *mddev, int nodes);
13
	int (*leave)(struct mddev *mddev);
G
Goldwyn Rodrigues 已提交
14
	int (*slot_number)(struct mddev *mddev);
15
	void (*resync_info_update)(struct mddev *mddev, sector_t lo, sector_t hi);
16 17
	int (*resync_start)(struct mddev *mddev, sector_t lo, sector_t hi);
	void (*resync_finish)(struct mddev *mddev);
18 19 20
	int (*metadata_update_start)(struct mddev *mddev);
	int (*metadata_update_finish)(struct mddev *mddev);
	int (*metadata_update_cancel)(struct mddev *mddev);
21
	int (*area_resyncing)(struct mddev *mddev, sector_t lo, sector_t hi);
22 23
	int (*add_new_disk_start)(struct mddev *mddev, struct md_rdev *rdev);
	int (*add_new_disk_finish)(struct mddev *mddev);
24
	int (*new_disk_ack)(struct mddev *mddev, bool ack);
25
	int (*remove_disk)(struct mddev *mddev, struct md_rdev *rdev);
26
	int (*gather_bitmaps)(struct md_rdev *rdev);
27 28 29
};

#endif /* _MD_CLUSTER_H */