Commit 57d051dc authored by Goldwyn Rodrigues's avatar Goldwyn Rodrigues Committed by NeilBrown

md: Export and rename find_rdev_nr_rcu

This is required by the clustering module (patches to follow) to
find the device to remove or re-add.
Signed-off-by: default avatarGoldwyn Rodrigues <rgoldwyn@suse.com>
Signed-off-by: default avatarNeilBrown <neilb@suse.de>
parent fb56dfef
...@@ -642,7 +642,7 @@ void mddev_unlock(struct mddev *mddev) ...@@ -642,7 +642,7 @@ void mddev_unlock(struct mddev *mddev)
} }
EXPORT_SYMBOL_GPL(mddev_unlock); EXPORT_SYMBOL_GPL(mddev_unlock);
static struct md_rdev *find_rdev_nr_rcu(struct mddev *mddev, int nr) struct md_rdev *md_find_rdev_nr_rcu(struct mddev *mddev, int nr)
{ {
struct md_rdev *rdev; struct md_rdev *rdev;
...@@ -652,6 +652,7 @@ static struct md_rdev *find_rdev_nr_rcu(struct mddev *mddev, int nr) ...@@ -652,6 +652,7 @@ static struct md_rdev *find_rdev_nr_rcu(struct mddev *mddev, int nr)
return NULL; return NULL;
} }
EXPORT_SYMBOL_GPL(md_find_rdev_nr_rcu);
static struct md_rdev *find_rdev(struct mddev *mddev, dev_t dev) static struct md_rdev *find_rdev(struct mddev *mddev, dev_t dev)
{ {
...@@ -2049,11 +2050,11 @@ static int bind_rdev_to_array(struct md_rdev *rdev, struct mddev *mddev) ...@@ -2049,11 +2050,11 @@ static int bind_rdev_to_array(struct md_rdev *rdev, struct mddev *mddev)
int choice = 0; int choice = 0;
if (mddev->pers) if (mddev->pers)
choice = mddev->raid_disks; choice = mddev->raid_disks;
while (find_rdev_nr_rcu(mddev, choice)) while (md_find_rdev_nr_rcu(mddev, choice))
choice++; choice++;
rdev->desc_nr = choice; rdev->desc_nr = choice;
} else { } else {
if (find_rdev_nr_rcu(mddev, rdev->desc_nr)) { if (md_find_rdev_nr_rcu(mddev, rdev->desc_nr)) {
rcu_read_unlock(); rcu_read_unlock();
return -EBUSY; return -EBUSY;
} }
...@@ -5721,7 +5722,7 @@ static int get_disk_info(struct mddev *mddev, void __user * arg) ...@@ -5721,7 +5722,7 @@ static int get_disk_info(struct mddev *mddev, void __user * arg)
return -EFAULT; return -EFAULT;
rcu_read_lock(); rcu_read_lock();
rdev = find_rdev_nr_rcu(mddev, info.number); rdev = md_find_rdev_nr_rcu(mddev, info.number);
if (rdev) { if (rdev) {
info.major = MAJOR(rdev->bdev->bd_dev); info.major = MAJOR(rdev->bdev->bd_dev);
info.minor = MINOR(rdev->bdev->bd_dev); info.minor = MINOR(rdev->bdev->bd_dev);
......
...@@ -672,6 +672,7 @@ extern void md_unplug(struct blk_plug_cb *cb, bool from_schedule); ...@@ -672,6 +672,7 @@ extern void md_unplug(struct blk_plug_cb *cb, bool from_schedule);
extern void md_reload_sb(struct mddev *mddev); extern void md_reload_sb(struct mddev *mddev);
extern void md_update_sb(struct mddev *mddev, int force); extern void md_update_sb(struct mddev *mddev, int force);
extern void md_kick_rdev_from_array(struct md_rdev * rdev); extern void md_kick_rdev_from_array(struct md_rdev * rdev);
struct md_rdev *md_find_rdev_nr_rcu(struct mddev *mddev, int nr);
static inline int mddev_check_plugged(struct mddev *mddev) static inline int mddev_check_plugged(struct mddev *mddev)
{ {
return !!blk_check_plugged(md_unplug, mddev, return !!blk_check_plugged(md_unplug, mddev,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment