Lines Matching refs:rrdev
1327 struct md_rdev *rdev, *rrdev; in dereference_rdev_and_rrdev() local
1329 rrdev = rcu_dereference(mirror->replacement); in dereference_rdev_and_rrdev()
1336 if (rdev == rrdev) in dereference_rdev_and_rrdev()
1337 rrdev = NULL; in dereference_rdev_and_rrdev()
1339 *prrdev = rrdev; in dereference_rdev_and_rrdev()
1353 struct md_rdev *rdev, *rrdev; in wait_blocked_dev() local
1355 rdev = dereference_rdev_and_rrdev(&conf->mirrors[i], &rrdev); in wait_blocked_dev()
1361 if (rrdev && unlikely(test_bit(Blocked, &rrdev->flags))) { in wait_blocked_dev()
1362 atomic_inc(&rrdev->nr_pending); in wait_blocked_dev()
1363 blocked_rdev = rrdev; in wait_blocked_dev()
1482 struct md_rdev *rdev, *rrdev; in raid10_write_request() local
1484 rdev = dereference_rdev_and_rrdev(&conf->mirrors[d], &rrdev); in raid10_write_request()
1487 if (rrdev && (test_bit(Faulty, &rrdev->flags))) in raid10_write_request()
1488 rrdev = NULL; in raid10_write_request()
1493 if (!rdev && !rrdev) { in raid10_write_request()
1533 if (rrdev) { in raid10_write_request()
1535 atomic_inc(&rrdev->nr_pending); in raid10_write_request()
1790 struct md_rdev *rdev, *rrdev; in raid10_handle_discard() local
1792 rdev = dereference_rdev_and_rrdev(&conf->mirrors[disk], &rrdev); in raid10_handle_discard()
1798 if (rrdev && (test_bit(Faulty, &rrdev->flags))) in raid10_handle_discard()
1799 rrdev = NULL; in raid10_handle_discard()
1800 if (!rdev && !rrdev) in raid10_handle_discard()
1807 if (rrdev) { in raid10_handle_discard()
1809 atomic_inc(&rrdev->nr_pending); in raid10_handle_discard()
1866 struct md_rdev *rrdev = conf->mirrors[disk].replacement; in raid10_handle_discard() local
1874 md_submit_discard_bio(mddev, rrdev, rbio, in raid10_handle_discard()
1875 dev_start + choose_data_offset(r10_bio, rrdev), in raid10_handle_discard()