Lines Matching refs:mddev

44 	struct mddev *mddev;		/* RAID array if running */  member
212 struct mddev { struct
459 void (*sync_super)(struct mddev *mddev, struct md_rdev *rdev); argument
463 static inline int __must_check mddev_lock(struct mddev *mddev) in mddev_lock() argument
465 return mutex_lock_interruptible(&mddev->reconfig_mutex); in mddev_lock()
471 static inline void mddev_lock_nointr(struct mddev *mddev) in mddev_lock_nointr() argument
473 mutex_lock(&mddev->reconfig_mutex); in mddev_lock_nointr()
476 static inline int mddev_is_locked(struct mddev *mddev) in mddev_is_locked() argument
478 return mutex_is_locked(&mddev->reconfig_mutex); in mddev_is_locked()
481 static inline int mddev_trylock(struct mddev *mddev) in mddev_trylock() argument
483 return mutex_trylock(&mddev->reconfig_mutex); in mddev_trylock()
485 extern void mddev_unlock(struct mddev *mddev);
498 void (*make_request)(struct mddev *mddev, struct bio *bio);
499 int (*run)(struct mddev *mddev);
500 void (*free)(struct mddev *mddev, void *priv);
501 void (*status)(struct seq_file *seq, struct mddev *mddev);
505 void (*error_handler)(struct mddev *mddev, struct md_rdev *rdev);
506 int (*hot_add_disk) (struct mddev *mddev, struct md_rdev *rdev);
507 int (*hot_remove_disk) (struct mddev *mddev, struct md_rdev *rdev);
508 int (*spare_active) (struct mddev *mddev);
509 sector_t (*sync_request)(struct mddev *mddev, sector_t sector_nr, int *skipped);
510 int (*resize) (struct mddev *mddev, sector_t sectors);
511 sector_t (*size) (struct mddev *mddev, sector_t sectors, int raid_disks);
512 int (*check_reshape) (struct mddev *mddev);
513 int (*start_reshape) (struct mddev *mddev);
514 void (*finish_reshape) (struct mddev *mddev);
520 void (*quiesce) (struct mddev *mddev, int state);
530 void *(*takeover) (struct mddev *mddev);
533 int (*congested)(struct mddev *mddev, int bits);
535 int (*mergeable_bvec)(struct mddev *mddev,
542 ssize_t (*show)(struct mddev *, char *);
543 ssize_t (*store)(struct mddev *, const char *, size_t);
559 static inline char * mdname (struct mddev * mddev) in mdname() argument
561 return mddev->gendisk ? mddev->gendisk->disk_name : "mdX"; in mdname()
564 static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev) in sysfs_link_rdev() argument
567 if (!test_bit(Replacement, &rdev->flags) && mddev->kobj.sd) { in sysfs_link_rdev()
569 return sysfs_create_link(&mddev->kobj, &rdev->kobj, nm); in sysfs_link_rdev()
574 static inline void sysfs_unlink_rdev(struct mddev *mddev, struct md_rdev *rdev) in sysfs_unlink_rdev() argument
577 if (!test_bit(Replacement, &rdev->flags) && mddev->kobj.sd) { in sysfs_unlink_rdev()
579 sysfs_remove_link(&mddev->kobj, nm); in sysfs_unlink_rdev()
593 #define rdev_for_each(rdev, mddev) \ argument
594 list_for_each_entry(rdev, &((mddev)->disks), same_set)
596 #define rdev_for_each_safe(rdev, tmp, mddev) \ argument
597 list_for_each_entry_safe(rdev, tmp, &((mddev)->disks), same_set)
599 #define rdev_for_each_rcu(rdev, mddev) \ argument
600 list_for_each_entry_rcu(rdev, &((mddev)->disks), same_set)
604 struct mddev *mddev; member
624 extern int md_setup_cluster(struct mddev *mddev, int nodes);
625 extern void md_cluster_stop(struct mddev *mddev);
628 struct mddev *mddev,
632 extern void md_check_recovery(struct mddev *mddev);
633 extern void md_reap_sync_thread(struct mddev *mddev);
634 extern void md_write_start(struct mddev *mddev, struct bio *bi);
635 extern void md_write_end(struct mddev *mddev);
636 extern void md_done_sync(struct mddev *mddev, int blocks, int ok);
637 extern void md_error(struct mddev *mddev, struct md_rdev *rdev);
638 extern void md_finish_reshape(struct mddev *mddev);
640 extern int mddev_congested(struct mddev *mddev, int bits);
641 extern void md_flush_request(struct mddev *mddev, struct bio *bio);
642 extern void md_super_write(struct mddev *mddev, struct md_rdev *rdev,
644 extern void md_super_wait(struct mddev *mddev);
648 extern void md_new_event(struct mddev *mddev);
649 extern int md_allow_write(struct mddev *mddev);
650 extern void md_wait_for_blocked_rdev(struct md_rdev *rdev, struct mddev *mddev);
651 extern void md_set_array_sectors(struct mddev *mddev, sector_t array_sectors);
652 extern int md_check_no_bitmap(struct mddev *mddev);
653 extern int md_integrity_register(struct mddev *mddev);
654 extern void md_integrity_add_rdev(struct md_rdev *rdev, struct mddev *mddev);
657 extern void mddev_init(struct mddev *mddev);
658 extern int md_run(struct mddev *mddev);
659 extern void md_stop(struct mddev *mddev);
660 extern void md_stop_writes(struct mddev *mddev);
664 extern void mddev_suspend(struct mddev *mddev);
665 extern void mddev_resume(struct mddev *mddev);
667 struct mddev *mddev);
669 struct mddev *mddev);
672 extern void md_reload_sb(struct mddev *mddev);
673 extern void md_update_sb(struct mddev *mddev, int force);
675 struct md_rdev *md_find_rdev_nr_rcu(struct mddev *mddev, int nr);
676 static inline int mddev_check_plugged(struct mddev *mddev) in mddev_check_plugged() argument
678 return !!blk_check_plugged(md_unplug, mddev, in mddev_check_plugged()
682 static inline void rdev_dec_pending(struct md_rdev *rdev, struct mddev *mddev) in rdev_dec_pending() argument
686 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); in rdev_dec_pending()
687 md_wakeup_thread(mddev->thread); in rdev_dec_pending()
692 static inline int mddev_is_clustered(struct mddev *mddev) in mddev_is_clustered() argument
694 return mddev->cluster_info && mddev->bitmap_info.nodes > 1; in mddev_is_clustered()