Skip to content

Commit 374916e

Browse files
committed
Merge tag 'md-3.5-fixes' of git://neil.brown.name/md
Pull two md fixes from NeilBrown: "One sparse-warning fix, one bugfix for 3.4-stable" * tag 'md-3.5-fixes' of git://neil.brown.name/md: md: raid1/raid10: fix problem with merge_bvec_fn lib/raid6: fix sparse warnings in recovery functions
2 parents 9e68447 + aba336b commit 374916e

File tree

4 files changed

+16
-6
lines changed

4 files changed

+16
-6
lines changed

drivers/md/raid1.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2550,6 +2550,7 @@ static struct r1conf *setup_conf(struct mddev *mddev)
25502550
err = -EINVAL;
25512551
spin_lock_init(&conf->device_lock);
25522552
rdev_for_each(rdev, mddev) {
2553+
struct request_queue *q;
25532554
int disk_idx = rdev->raid_disk;
25542555
if (disk_idx >= mddev->raid_disks
25552556
|| disk_idx < 0)
@@ -2562,6 +2563,9 @@ static struct r1conf *setup_conf(struct mddev *mddev)
25622563
if (disk->rdev)
25632564
goto abort;
25642565
disk->rdev = rdev;
2566+
q = bdev_get_queue(rdev->bdev);
2567+
if (q->merge_bvec_fn)
2568+
mddev->merge_check_needed = 1;
25652569

25662570
disk->head_position = 0;
25672571
}

drivers/md/raid10.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3475,6 +3475,7 @@ static int run(struct mddev *mddev)
34753475

34763476
rdev_for_each(rdev, mddev) {
34773477
long long diff;
3478+
struct request_queue *q;
34783479

34793480
disk_idx = rdev->raid_disk;
34803481
if (disk_idx < 0)
@@ -3493,6 +3494,9 @@ static int run(struct mddev *mddev)
34933494
goto out_free_conf;
34943495
disk->rdev = rdev;
34953496
}
3497+
q = bdev_get_queue(rdev->bdev);
3498+
if (q->merge_bvec_fn)
3499+
mddev->merge_check_needed = 1;
34963500
diff = (rdev->new_data_offset - rdev->data_offset);
34973501
if (!mddev->reshape_backwards)
34983502
diff = -diff;

lib/raid6/recov.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
#include <linux/raid/pq.h>
2323

2424
/* Recover two failed data blocks. */
25-
void raid6_2data_recov_intx1(int disks, size_t bytes, int faila, int failb,
26-
void **ptrs)
25+
static void raid6_2data_recov_intx1(int disks, size_t bytes, int faila,
26+
int failb, void **ptrs)
2727
{
2828
u8 *p, *q, *dp, *dq;
2929
u8 px, qx, db;
@@ -66,7 +66,8 @@ void raid6_2data_recov_intx1(int disks, size_t bytes, int faila, int failb,
6666
}
6767

6868
/* Recover failure of one data block plus the P block */
69-
void raid6_datap_recov_intx1(int disks, size_t bytes, int faila, void **ptrs)
69+
static void raid6_datap_recov_intx1(int disks, size_t bytes, int faila,
70+
void **ptrs)
7071
{
7172
u8 *p, *q, *dq;
7273
const u8 *qmul; /* Q multiplier table */

lib/raid6/recov_ssse3.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ static int raid6_has_ssse3(void)
1919
boot_cpu_has(X86_FEATURE_SSSE3);
2020
}
2121

22-
void raid6_2data_recov_ssse3(int disks, size_t bytes, int faila, int failb,
23-
void **ptrs)
22+
static void raid6_2data_recov_ssse3(int disks, size_t bytes, int faila,
23+
int failb, void **ptrs)
2424
{
2525
u8 *p, *q, *dp, *dq;
2626
const u8 *pbmul; /* P multiplier table for B data */
@@ -194,7 +194,8 @@ void raid6_2data_recov_ssse3(int disks, size_t bytes, int faila, int failb,
194194
}
195195

196196

197-
void raid6_datap_recov_ssse3(int disks, size_t bytes, int faila, void **ptrs)
197+
static void raid6_datap_recov_ssse3(int disks, size_t bytes, int faila,
198+
void **ptrs)
198199
{
199200
u8 *p, *q, *dq;
200201
const u8 *qmul; /* Q multiplier table */

0 commit comments

Comments
 (0)