Commit 8bda470e authored by Christian Dietrich's avatar Christian Dietrich Committed by NeilBrown

md/raid: use printk_ratelimited instead of printk_ratelimit

As per printk_ratelimit comment, it should not be used.
Signed-off-by: default avatarChristian Dietrich <christian.dietrich@informatik.uni-erlangen.de>
Signed-off-by: default avatarNeilBrown <neilb@suse.de>
parent a0a02a7a
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/blkdev.h> #include <linux/blkdev.h>
#include <linux/seq_file.h> #include <linux/seq_file.h>
#include <linux/ratelimit.h>
#include "md.h" #include "md.h"
#include "raid1.h" #include "raid1.h"
#include "bitmap.h" #include "bitmap.h"
...@@ -287,10 +288,13 @@ static void raid1_end_read_request(struct bio *bio, int error) ...@@ -287,10 +288,13 @@ static void raid1_end_read_request(struct bio *bio, int error)
* oops, read error: * oops, read error:
*/ */
char b[BDEVNAME_SIZE]; char b[BDEVNAME_SIZE];
if (printk_ratelimit()) printk_ratelimited(
printk(KERN_ERR "md/raid1:%s: %s: rescheduling sector %llu\n", KERN_ERR "md/raid1:%s: %s: "
"rescheduling sector %llu\n",
mdname(conf->mddev), mdname(conf->mddev),
bdevname(conf->mirrors[mirror].rdev->bdev,b), (unsigned long long)r1_bio->sector); bdevname(conf->mirrors[mirror].rdev->bdev,
b),
(unsigned long long)r1_bio->sector);
reschedule_retry(r1_bio); reschedule_retry(r1_bio);
} }
...@@ -1580,12 +1584,13 @@ static void raid1d(mddev_t *mddev) ...@@ -1580,12 +1584,13 @@ static void raid1d(mddev_t *mddev)
GFP_NOIO, mddev); GFP_NOIO, mddev);
r1_bio->bios[r1_bio->read_disk] = bio; r1_bio->bios[r1_bio->read_disk] = bio;
rdev = conf->mirrors[disk].rdev; rdev = conf->mirrors[disk].rdev;
if (printk_ratelimit()) printk_ratelimited(
printk(KERN_ERR "md/raid1:%s: redirecting sector %llu to" KERN_ERR
" other mirror: %s\n", "md/raid1:%s: redirecting sector %llu"
" to other mirror: %s\n",
mdname(mddev), mdname(mddev),
(unsigned long long)r1_bio->sector, (unsigned long long)r1_bio->sector,
bdevname(rdev->bdev,b)); bdevname(rdev->bdev, b));
bio->bi_sector = r1_bio->sector + rdev->data_offset; bio->bi_sector = r1_bio->sector + rdev->data_offset;
bio->bi_bdev = rdev->bdev; bio->bi_bdev = rdev->bdev;
bio->bi_end_io = raid1_end_read_request; bio->bi_end_io = raid1_end_read_request;
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/blkdev.h> #include <linux/blkdev.h>
#include <linux/seq_file.h> #include <linux/seq_file.h>
#include <linux/ratelimit.h>
#include "md.h" #include "md.h"
#include "raid10.h" #include "raid10.h"
#include "raid0.h" #include "raid0.h"
...@@ -301,10 +302,11 @@ static void raid10_end_read_request(struct bio *bio, int error) ...@@ -301,10 +302,11 @@ static void raid10_end_read_request(struct bio *bio, int error)
* oops, read error - keep the refcount on the rdev * oops, read error - keep the refcount on the rdev
*/ */
char b[BDEVNAME_SIZE]; char b[BDEVNAME_SIZE];
if (printk_ratelimit()) printk_ratelimited(KERN_ERR
printk(KERN_ERR "md/raid10:%s: %s: rescheduling sector %llu\n", "md/raid10:%s: %s: rescheduling sector %llu\n",
mdname(conf->mddev), mdname(conf->mddev),
bdevname(conf->mirrors[dev].rdev->bdev,b), (unsigned long long)r10_bio->sector); bdevname(conf->mirrors[dev].rdev->bdev, b),
(unsigned long long)r10_bio->sector);
reschedule_retry(r10_bio); reschedule_retry(r10_bio);
} }
} }
...@@ -1669,11 +1671,12 @@ static void raid10d(mddev_t *mddev) ...@@ -1669,11 +1671,12 @@ static void raid10d(mddev_t *mddev)
bio_put(bio); bio_put(bio);
slot = r10_bio->read_slot; slot = r10_bio->read_slot;
rdev = conf->mirrors[mirror].rdev; rdev = conf->mirrors[mirror].rdev;
if (printk_ratelimit()) printk_ratelimited(
printk(KERN_ERR "md/raid10:%s: %s: redirecting sector %llu to" KERN_ERR
" another mirror\n", "md/raid10:%s: %s: redirecting"
"sector %llu to another mirror\n",
mdname(mddev), mdname(mddev),
bdevname(rdev->bdev,b), bdevname(rdev->bdev, b),
(unsigned long long)r10_bio->sector); (unsigned long long)r10_bio->sector);
bio = bio_clone_mddev(r10_bio->master_bio, bio = bio_clone_mddev(r10_bio->master_bio,
GFP_NOIO, mddev); GFP_NOIO, mddev);
......
...@@ -51,6 +51,7 @@ ...@@ -51,6 +51,7 @@
#include <linux/seq_file.h> #include <linux/seq_file.h>
#include <linux/cpu.h> #include <linux/cpu.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/ratelimit.h>
#include "md.h" #include "md.h"
#include "raid5.h" #include "raid5.h"
#include "raid0.h" #include "raid0.h"
...@@ -96,8 +97,6 @@ ...@@ -96,8 +97,6 @@
#define __inline__ #define __inline__
#endif #endif
#define printk_rl(args...) ((void) (printk_ratelimit() && printk(args)))
/* /*
* We maintain a biased count of active stripes in the bottom 16 bits of * We maintain a biased count of active stripes in the bottom 16 bits of
* bi_phys_segments, and a count of processed stripes in the upper 16 bits * bi_phys_segments, and a count of processed stripes in the upper 16 bits
...@@ -1583,7 +1582,9 @@ static void raid5_end_read_request(struct bio * bi, int error) ...@@ -1583,7 +1582,9 @@ static void raid5_end_read_request(struct bio * bi, int error)
set_bit(R5_UPTODATE, &sh->dev[i].flags); set_bit(R5_UPTODATE, &sh->dev[i].flags);
if (test_bit(R5_ReadError, &sh->dev[i].flags)) { if (test_bit(R5_ReadError, &sh->dev[i].flags)) {
rdev = conf->disks[i].rdev; rdev = conf->disks[i].rdev;
printk_rl(KERN_INFO "md/raid:%s: read error corrected" printk_ratelimited(
KERN_INFO
"md/raid:%s: read error corrected"
" (%lu sectors at %llu on %s)\n", " (%lu sectors at %llu on %s)\n",
mdname(conf->mddev), STRIPE_SECTORS, mdname(conf->mddev), STRIPE_SECTORS,
(unsigned long long)(sh->sector (unsigned long long)(sh->sector
...@@ -1602,7 +1603,8 @@ static void raid5_end_read_request(struct bio * bi, int error) ...@@ -1602,7 +1603,8 @@ static void raid5_end_read_request(struct bio * bi, int error)
clear_bit(R5_UPTODATE, &sh->dev[i].flags); clear_bit(R5_UPTODATE, &sh->dev[i].flags);
atomic_inc(&rdev->read_errors); atomic_inc(&rdev->read_errors);
if (conf->mddev->degraded >= conf->max_degraded) if (conf->mddev->degraded >= conf->max_degraded)
printk_rl(KERN_WARNING printk_ratelimited(
KERN_WARNING
"md/raid:%s: read error not correctable " "md/raid:%s: read error not correctable "
"(sector %llu on %s).\n", "(sector %llu on %s).\n",
mdname(conf->mddev), mdname(conf->mddev),
...@@ -1611,7 +1613,8 @@ static void raid5_end_read_request(struct bio * bi, int error) ...@@ -1611,7 +1613,8 @@ static void raid5_end_read_request(struct bio * bi, int error)
bdn); bdn);
else if (test_bit(R5_ReWrite, &sh->dev[i].flags)) else if (test_bit(R5_ReWrite, &sh->dev[i].flags))
/* Oh, no!!! */ /* Oh, no!!! */
printk_rl(KERN_WARNING printk_ratelimited(
KERN_WARNING
"md/raid:%s: read error NOT corrected!! " "md/raid:%s: read error NOT corrected!! "
"(sector %llu on %s).\n", "(sector %llu on %s).\n",
mdname(conf->mddev), mdname(conf->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