1edb39c9dSGoldwyn Rodrigues 2edb39c9dSGoldwyn Rodrigues 3edb39c9dSGoldwyn Rodrigues #ifndef _MD_CLUSTER_H 4edb39c9dSGoldwyn Rodrigues #define _MD_CLUSTER_H 5edb39c9dSGoldwyn Rodrigues 6edb39c9dSGoldwyn Rodrigues #include "md.h" 7edb39c9dSGoldwyn Rodrigues 8edb39c9dSGoldwyn Rodrigues struct mddev; 91aee41f6SGoldwyn Rodrigues struct md_rdev; 10edb39c9dSGoldwyn Rodrigues 11edb39c9dSGoldwyn Rodrigues struct md_cluster_operations { 12cf921cc1SGoldwyn Rodrigues int (*join)(struct mddev *mddev, int nodes); 13edb39c9dSGoldwyn Rodrigues int (*leave)(struct mddev *mddev); 14cf921cc1SGoldwyn Rodrigues int (*slot_number)(struct mddev *mddev); 15c40f341fSGoldwyn Rodrigues int (*resync_info_update)(struct mddev *mddev, sector_t lo, sector_t hi); 16293467aaSGoldwyn Rodrigues int (*metadata_update_start)(struct mddev *mddev); 17293467aaSGoldwyn Rodrigues int (*metadata_update_finish)(struct mddev *mddev); 18dbb64f86SGoldwyn Rodrigues void (*metadata_update_cancel)(struct mddev *mddev); 19c186b128SGoldwyn Rodrigues int (*resync_start)(struct mddev *mddev); 20c186b128SGoldwyn Rodrigues int (*resync_finish)(struct mddev *mddev); 2190382ed9SGoldwyn Rodrigues int (*area_resyncing)(struct mddev *mddev, int direction, sector_t lo, sector_t hi); 22dbb64f86SGoldwyn Rodrigues int (*add_new_disk)(struct mddev *mddev, struct md_rdev *rdev); 23dbb64f86SGoldwyn Rodrigues void (*add_new_disk_cancel)(struct mddev *mddev); 24fa8259daSGoldwyn Rodrigues int (*new_disk_ack)(struct mddev *mddev, bool ack); 2588bcfef7SGoldwyn Rodrigues int (*remove_disk)(struct mddev *mddev, struct md_rdev *rdev); 2651e453aeSGuoqing Jiang void (*load_bitmaps)(struct mddev *mddev, int total_slots); 2797f6cd39SGoldwyn Rodrigues int (*gather_bitmaps)(struct md_rdev *rdev); 28f6a2dc64SGuoqing Jiang int (*lock_all_bitmaps)(struct mddev *mddev); 29f6a2dc64SGuoqing Jiang void (*unlock_all_bitmaps)(struct mddev *mddev); 30818da59fSGuoqing Jiang void (*update_size)(struct mddev *mddev, sector_t old_dev_sectors); 31edb39c9dSGoldwyn Rodrigues }; 32edb39c9dSGoldwyn Rodrigues 33edb39c9dSGoldwyn Rodrigues #endif /* _MD_CLUSTER_H */ 34