Lines Matching refs:rdev

199 static inline int is_badblock(struct md_rdev *rdev, sector_t s, int sectors,  in is_badblock()  argument
202 if (unlikely(rdev->badblocks.count)) { in is_badblock()
203 int rv = md_is_badblock(&rdev->badblocks, rdev->data_offset + s, in is_badblock()
207 *first_bad -= rdev->data_offset; in is_badblock()
212 extern int rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
214 extern int rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
465 void (*sync_super)(struct mddev *mddev, struct md_rdev *rdev);
511 void (*error_handler)(struct mddev *mddev, struct md_rdev *rdev);
512 int (*hot_add_disk) (struct mddev *mddev, struct md_rdev *rdev);
513 int (*hot_remove_disk) (struct mddev *mddev, struct md_rdev *rdev);
566 static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev) in sysfs_link_rdev() argument
569 if (!test_bit(Replacement, &rdev->flags) && in sysfs_link_rdev()
570 !test_bit(Journal, &rdev->flags) && in sysfs_link_rdev()
572 sprintf(nm, "rd%d", rdev->raid_disk); in sysfs_link_rdev()
573 return sysfs_create_link(&mddev->kobj, &rdev->kobj, nm); in sysfs_link_rdev()
578 static inline void sysfs_unlink_rdev(struct mddev *mddev, struct md_rdev *rdev) in sysfs_unlink_rdev() argument
581 if (!test_bit(Replacement, &rdev->flags) && in sysfs_unlink_rdev()
582 !test_bit(Journal, &rdev->flags) && in sysfs_unlink_rdev()
584 sprintf(nm, "rd%d", rdev->raid_disk); in sysfs_unlink_rdev()
593 #define rdev_for_each_list(rdev, tmp, head) \ argument
594 list_for_each_entry_safe(rdev, tmp, head, same_set)
599 #define rdev_for_each(rdev, mddev) \ argument
600 list_for_each_entry(rdev, &((mddev)->disks), same_set)
602 #define rdev_for_each_safe(rdev, tmp, mddev) \ argument
603 list_for_each_entry_safe(rdev, tmp, &((mddev)->disks), same_set)
605 #define rdev_for_each_rcu(rdev, mddev) \ argument
606 list_for_each_entry_rcu(rdev, &((mddev)->disks), same_set)
643 extern void md_error(struct mddev *mddev, struct md_rdev *rdev);
648 extern void md_super_write(struct mddev *mddev, struct md_rdev *rdev,
651 extern int sync_page_io(struct md_rdev *rdev, sector_t sector, int size,
656 extern void md_wait_for_blocked_rdev(struct md_rdev *rdev, struct mddev *mddev);
660 extern int md_integrity_add_rdev(struct md_rdev *rdev, struct mddev *mddev);
667 extern int md_rdev_init(struct md_rdev *rdev);
668 extern void md_rdev_clear(struct md_rdev *rdev);
680 extern void md_kick_rdev_from_array(struct md_rdev * rdev);
688 static inline void rdev_dec_pending(struct md_rdev *rdev, struct mddev *mddev) in rdev_dec_pending() argument
690 int faulty = test_bit(Faulty, &rdev->flags); in rdev_dec_pending()
691 if (atomic_dec_and_test(&rdev->nr_pending) && faulty) { in rdev_dec_pending()