11 struct md_cluster_operations
{
12 int (*join
)(struct mddev
*mddev
, int nodes
);
13 int (*leave
)(struct mddev
*mddev
);
14 int (*slot_number
)(struct mddev
*mddev
);
15 int (*resync_info_update
)(struct mddev
*mddev
, sector_t lo
, sector_t hi
);
16 int (*metadata_update_start
)(struct mddev
*mddev
);
17 int (*metadata_update_finish
)(struct mddev
*mddev
);
18 void (*metadata_update_cancel
)(struct mddev
*mddev
);
19 int (*resync_start
)(struct mddev
*mddev
);
20 int (*resync_finish
)(struct mddev
*mddev
);
21 int (*area_resyncing
)(struct mddev
*mddev
, int direction
, sector_t lo
, sector_t hi
);
22 int (*add_new_disk
)(struct mddev
*mddev
, struct md_rdev
*rdev
);
23 void (*add_new_disk_cancel
)(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 void (*load_bitmaps
)(struct mddev
*mddev
, int total_slots
);
27 int (*gather_bitmaps
)(struct md_rdev
*rdev
);
28 int (*lock_all_bitmaps
)(struct mddev
*mddev
);
29 void (*unlock_all_bitmaps
)(struct mddev
*mddev
);
30 void (*update_size
)(struct mddev
*mddev
, sector_t old_dev_sectors
);
33 #endif /* _MD_CLUSTER_H */