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: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
3adc28d85f
commit
403df47888
1 changed files with 12 additions and 46 deletions
|
@ -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)
|
||||||
|
|
||||||
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);
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
{
|
{
|
||||||
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);
|
||||||
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 @@ repeat:
|
||||||
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)
|
||||||
|
|
||||||
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)
|
||||||
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)
|
||||||
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++;
|
||||||
|
|
Loading…
Add table
Reference in a new issue