Commit 403df478 authored by NeilBrown's avatar NeilBrown

md: remove MD_BUG()

Most of the places that call this are doing so pointlessly.
A couple of the others a best replaced with WARN_ON().
Signed-off-by: default avatarNeilBrown <neilb@suse.de>
parent 3adc28d8
...@@ -75,8 +75,6 @@ static struct workqueue_struct *md_misc_wq; ...@@ -75,8 +75,6 @@ static struct workqueue_struct *md_misc_wq;
static int remove_and_add_spares(struct mddev *mddev, static int remove_and_add_spares(struct mddev *mddev,
struct md_rdev *this); struct md_rdev *this);
#define MD_BUG(x...) { printk("md: bug in file %s, line %d\n", __FILE__, __LINE__); md_print_devices(); }
/* /*
* Default number of read corrections we'll attempt on an rdev * Default number of read corrections we'll attempt on an rdev
* before ejecting it from the array. We divide the read error * before ejecting it from the array. We divide the read error
...@@ -682,9 +680,6 @@ static inline sector_t calc_dev_sboffset(struct md_rdev *rdev) ...@@ -682,9 +680,6 @@ static inline sector_t calc_dev_sboffset(struct md_rdev *rdev)
static int alloc_disk_sb(struct md_rdev *rdev) static int alloc_disk_sb(struct md_rdev *rdev)
{ {
if (rdev->sb_page)
MD_BUG();
rdev->sb_page = alloc_page(GFP_KERNEL); rdev->sb_page = alloc_page(GFP_KERNEL);
if (!rdev->sb_page) { if (!rdev->sb_page) {
printk(KERN_ALERT "md: out of memory.\n"); printk(KERN_ALERT "md: out of memory.\n");
...@@ -784,10 +779,7 @@ EXPORT_SYMBOL_GPL(sync_page_io); ...@@ -784,10 +779,7 @@ EXPORT_SYMBOL_GPL(sync_page_io);
static int read_disk_sb(struct md_rdev *rdev, int size) static int read_disk_sb(struct md_rdev *rdev, int size)
{ {
char b[BDEVNAME_SIZE]; char b[BDEVNAME_SIZE];
if (!rdev->sb_page) {
MD_BUG();
return -EINVAL;
}
if (rdev->sb_loaded) if (rdev->sb_loaded)
return 0; return 0;
...@@ -2014,11 +2006,6 @@ static int bind_rdev_to_array(struct md_rdev *rdev, struct mddev *mddev) ...@@ -2014,11 +2006,6 @@ static int bind_rdev_to_array(struct md_rdev *rdev, struct mddev *mddev)
char *s; char *s;
int err; int err;
if (rdev->mddev) {
MD_BUG();
return -EINVAL;
}
/* prevent duplicates */ /* prevent duplicates */
if (find_rdev(mddev, rdev->bdev->bd_dev)) if (find_rdev(mddev, rdev->bdev->bd_dev))
return -EEXIST; return -EEXIST;
...@@ -2100,10 +2087,7 @@ static void md_delayed_delete(struct work_struct *ws) ...@@ -2100,10 +2087,7 @@ static void md_delayed_delete(struct work_struct *ws)
static void unbind_rdev_from_array(struct md_rdev *rdev) static void unbind_rdev_from_array(struct md_rdev *rdev)
{ {
char b[BDEVNAME_SIZE]; char b[BDEVNAME_SIZE];
if (!rdev->mddev) {
MD_BUG();
return;
}
bd_unlink_disk_holder(rdev->bdev, rdev->mddev->gendisk); bd_unlink_disk_holder(rdev->bdev, rdev->mddev->gendisk);
list_del_rcu(&rdev->same_set); list_del_rcu(&rdev->same_set);
printk(KERN_INFO "md: unbind<%s>\n", bdevname(rdev->bdev,b)); printk(KERN_INFO "md: unbind<%s>\n", bdevname(rdev->bdev,b));
...@@ -2148,8 +2132,6 @@ static void unlock_rdev(struct md_rdev *rdev) ...@@ -2148,8 +2132,6 @@ static void unlock_rdev(struct md_rdev *rdev)
{ {
struct block_device *bdev = rdev->bdev; struct block_device *bdev = rdev->bdev;
rdev->bdev = NULL; rdev->bdev = NULL;
if (!bdev)
MD_BUG();
blkdev_put(bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL); blkdev_put(bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL);
} }
...@@ -2158,10 +2140,9 @@ void md_autodetect_dev(dev_t dev); ...@@ -2158,10 +2140,9 @@ void md_autodetect_dev(dev_t dev);
static void export_rdev(struct md_rdev *rdev) static void export_rdev(struct md_rdev *rdev)
{ {
char b[BDEVNAME_SIZE]; char b[BDEVNAME_SIZE];
printk(KERN_INFO "md: export_rdev(%s)\n", printk(KERN_INFO "md: export_rdev(%s)\n",
bdevname(rdev->bdev,b)); bdevname(rdev->bdev,b));
if (rdev->mddev)
MD_BUG();
md_rdev_clear(rdev); md_rdev_clear(rdev);
#ifndef MODULE #ifndef MODULE
if (test_bit(AutoDetected, &rdev->flags)) if (test_bit(AutoDetected, &rdev->flags))
...@@ -2427,15 +2408,12 @@ static void md_update_sb(struct mddev *mddev, int force_change) ...@@ -2427,15 +2408,12 @@ static void md_update_sb(struct mddev *mddev, int force_change)
mddev->can_decrease_events = nospares; mddev->can_decrease_events = nospares;
} }
if (!mddev->events) { /*
/* * This 64-bit counter should never wrap.
* oops, this 64-bit counter should never wrap. * Either we are in around ~1 trillion A.C., assuming
* Either we are in around ~1 trillion A.C., assuming * 1 reboot per second, or we have a bug...
* 1 reboot per second, or we have a bug: */
*/ WARN_ON(mddev->events == 0);
MD_BUG();
mddev->events --;
}
rdev_for_each(rdev, mddev) { rdev_for_each(rdev, mddev) {
if (rdev->badblocks.changed) if (rdev->badblocks.changed)
...@@ -6806,11 +6784,6 @@ void md_unregister_thread(struct md_thread **threadp) ...@@ -6806,11 +6784,6 @@ void md_unregister_thread(struct md_thread **threadp)
void md_error(struct mddev *mddev, struct md_rdev *rdev) void md_error(struct mddev *mddev, struct md_rdev *rdev)
{ {
if (!mddev) {
MD_BUG();
return;
}
if (!rdev || test_bit(Faulty, &rdev->flags)) if (!rdev || test_bit(Faulty, &rdev->flags))
return; return;
...@@ -6869,13 +6842,7 @@ static void status_resync(struct seq_file *seq, struct mddev *mddev) ...@@ -6869,13 +6842,7 @@ static void status_resync(struct seq_file *seq, struct mddev *mddev)
else else
max_sectors = mddev->dev_sectors; max_sectors = mddev->dev_sectors;
/* WARN_ON(max_sectors == 0);
* Should not happen.
*/
if (!max_sectors) {
MD_BUG();
return;
}
/* Pick 'scale' such that (resync>>scale)*1000 will fit /* Pick 'scale' such that (resync>>scale)*1000 will fit
* in a sector_t, and (max_sectors>>scale) will fit in a * in a sector_t, and (max_sectors>>scale) will fit in a
* u32, as those are the requirements for sector_div. * u32, as those are the requirements for sector_div.
...@@ -8627,10 +8594,9 @@ static void autostart_arrays(int part) ...@@ -8627,10 +8594,9 @@ static void autostart_arrays(int part)
if (IS_ERR(rdev)) if (IS_ERR(rdev))
continue; continue;
if (test_bit(Faulty, &rdev->flags)) { if (test_bit(Faulty, &rdev->flags))
MD_BUG();
continue; continue;
}
set_bit(AutoDetected, &rdev->flags); set_bit(AutoDetected, &rdev->flags);
list_add(&rdev->same_set, &pending_raid_disks); list_add(&rdev->same_set, &pending_raid_disks);
i_passed++; i_passed++;
......
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