* [PATCH 2/4] raid10: change the code layout of raid10_mergeable_bvec() to make it look a bit nicer
2012-05-31 10:18 [PATCH 1/4] raid1: change the code layout of raid1_mergeable_bvec() to make it look a bit nicer Yuanhan Liu
@ 2012-05-31 10:18 ` Yuanhan Liu
2012-05-31 10:18 ` [PATCH 3/4] md: introduce md_rdev_merge_bvec to reduce code duplicate Yuanhan Liu
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Yuanhan Liu @ 2012-05-31 10:18 UTC (permalink / raw)
To: neilb; +Cc: linux-raid, Yuanhan Liu
This don't fix anything but just make function raid10_mergeable_bvec
look a bit nicer.
Minro note: this make 3 lines exceed 80 a bit(81).
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
drivers/md/raid10.c | 74 ++++++++++++++++++++++++--------------------------
1 files changed, 36 insertions(+), 38 deletions(-)
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 987db37..83d0e65 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -626,6 +626,8 @@ static int raid10_mergeable_bvec(struct request_queue *q,
unsigned int chunk_sectors;
unsigned int bio_sectors = bvm->bi_size >> 9;
struct geom *geo = &conf->geo;
+ struct r10bio r10_bio;
+ int s;
chunk_sectors = (conf->geo.chunk_mask & conf->prev.chunk_mask) + 1;
if (conf->reshape_progress != MaxSector &&
@@ -644,48 +646,44 @@ static int raid10_mergeable_bvec(struct request_queue *q,
} else
max = biovec->bv_len;
- if (mddev->merge_check_needed) {
- struct r10bio r10_bio;
- int s;
- if (conf->reshape_progress != MaxSector) {
- /* Cannot give any guidance during reshape */
- if (max <= biovec->bv_len && bio_sectors == 0)
- return biovec->bv_len;
- return 0;
- }
- r10_bio.sector = sector;
- raid10_find_phys(conf, &r10_bio);
- rcu_read_lock();
- for (s = 0; s < conf->copies; s++) {
- int disk = r10_bio.devs[s].devnum;
- struct md_rdev *rdev = rcu_dereference(
- conf->mirrors[disk].rdev);
- if (rdev && !test_bit(Faulty, &rdev->flags)) {
- struct request_queue *q =
- bdev_get_queue(rdev->bdev);
- if (q->merge_bvec_fn) {
- bvm->bi_sector = r10_bio.devs[s].addr
- + rdev->data_offset;
- bvm->bi_bdev = rdev->bdev;
- max = min(max, q->merge_bvec_fn(
- q, bvm, biovec));
- }
+ if (!mddev->merge_check_needed)
+ return max;
+
+ if (conf->reshape_progress != MaxSector) {
+ /* Cannot give any guidance during reshape */
+ if (max <= biovec->bv_len && bio_sectors == 0)
+ return biovec->bv_len;
+ return 0;
+ }
+
+ r10_bio.sector = sector;
+ raid10_find_phys(conf, &r10_bio);
+ rcu_read_lock();
+ for (s = 0; s < conf->copies; s++) {
+ int disk = r10_bio.devs[s].devnum;
+ struct md_rdev *rdev = rcu_dereference(conf->mirrors[disk].rdev);
+ if (rdev && !test_bit(Faulty, &rdev->flags)) {
+ struct request_queue *q = bdev_get_queue(rdev->bdev);
+ if (q->merge_bvec_fn) {
+ bvm->bi_sector = r10_bio.devs[s].addr +
+ rdev->data_offset;
+ bvm->bi_bdev = rdev->bdev;
+ max = min(max, q->merge_bvec_fn(q, bvm, biovec));
}
- rdev = rcu_dereference(conf->mirrors[disk].replacement);
- if (rdev && !test_bit(Faulty, &rdev->flags)) {
- struct request_queue *q =
- bdev_get_queue(rdev->bdev);
- if (q->merge_bvec_fn) {
- bvm->bi_sector = r10_bio.devs[s].addr
- + rdev->data_offset;
- bvm->bi_bdev = rdev->bdev;
- max = min(max, q->merge_bvec_fn(
- q, bvm, biovec));
- }
+ }
+ rdev = rcu_dereference(conf->mirrors[disk].replacement);
+ if (rdev && !test_bit(Faulty, &rdev->flags)) {
+ struct request_queue *q = bdev_get_queue(rdev->bdev);
+ if (q->merge_bvec_fn) {
+ bvm->bi_sector = r10_bio.devs[s].addr +
+ rdev->data_offset;
+ bvm->bi_bdev = rdev->bdev;
+ max = min(max, q->merge_bvec_fn(q, bvm, biovec));
}
}
- rcu_read_unlock();
}
+ rcu_read_unlock();
+
return max;
}
--
1.7.7.6
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/4] md: introduce md_rdev_merge_bvec to reduce code duplicate
2012-05-31 10:18 [PATCH 1/4] raid1: change the code layout of raid1_mergeable_bvec() to make it look a bit nicer Yuanhan Liu
2012-05-31 10:18 ` [PATCH 2/4] raid10: change the code layout of raid10_mergeable_bvec() " Yuanhan Liu
@ 2012-05-31 10:18 ` Yuanhan Liu
2012-05-31 10:18 ` [PATCH 4/4] md: put EXPORT_SYMBOL macro immediately after the corresponding function Yuanhan Liu
2012-06-04 3:42 ` [PATCH 1/4] raid1: change the code layout of raid1_mergeable_bvec() to make it look a bit nicer NeilBrown
3 siblings, 0 replies; 6+ messages in thread
From: Yuanhan Liu @ 2012-05-31 10:18 UTC (permalink / raw)
To: neilb; +Cc: linux-raid, Yuanhan Liu
There are several copies of the same code to try to merge biovec. Here
introduce md_rdev_merge_bvec for that to reduce code duplicate.
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
drivers/md/linear.c | 13 +++++--------
drivers/md/md.c | 18 ++++++++++++++++++
drivers/md/md.h | 5 +++++
drivers/md/raid0.c | 13 ++++---------
drivers/md/raid1.c | 10 ++++------
drivers/md/raid10.c | 21 +++++++--------------
6 files changed, 43 insertions(+), 37 deletions(-)
diff --git a/drivers/md/linear.c b/drivers/md/linear.c
index fa211d8..50ddd26 100644
--- a/drivers/md/linear.c
+++ b/drivers/md/linear.c
@@ -65,22 +65,19 @@ static int linear_mergeable_bvec(struct request_queue *q,
struct bio_vec *biovec)
{
struct mddev *mddev = q->queuedata;
+ struct md_rdev *rdev;
struct dev_info *dev0;
unsigned long maxsectors, bio_sectors = bvm->bi_size >> 9;
sector_t sector = bvm->bi_sector + get_start_sect(bvm->bi_bdev);
+ sector_t bi_sector;
int maxbytes = biovec->bv_len;
- struct request_queue *subq;
rcu_read_lock();
dev0 = which_dev(mddev, sector);
+ rdev = dev0->rdev;
maxsectors = dev0->end_sector - sector;
- subq = bdev_get_queue(dev0->rdev->bdev);
- if (subq->merge_bvec_fn) {
- bvm->bi_bdev = dev0->rdev->bdev;
- bvm->bi_sector -= dev0->end_sector - dev0->rdev->sectors;
- maxbytes = min(maxbytes, subq->merge_bvec_fn(subq, bvm,
- biovec));
- }
+ bi_sector = bvm->bi_sector - (dev0->end_sector - rdev->sectors);
+ maxbytes = md_rdev_merge_bvec(rdev, bvm, biovec, bi_sector, maxbytes);
rcu_read_unlock();
if (maxsectors < bio_sectors)
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 1c2f904..87e5ce8 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -5446,6 +5446,24 @@ static int do_md_stop(struct mddev * mddev, int mode, int is_open)
return 0;
}
+int md_rdev_merge_bvec(struct md_rdev *rdev,
+ struct bvec_merge_data *bvm,
+ struct bio_vec *biovec,
+ sector_t sector,
+ int max_size)
+{
+ struct request_queue *q = bdev_get_queue(rdev->bdev);
+
+ if (q->merge_bvec_fn) {
+ bvm->bi_sector = sector;
+ bvm->bi_bdev = rdev->bdev;
+ max_size = min(max_size, q->merge_bvec_fn(q, bvm, biovec));
+ }
+
+ return max_size;
+}
+EXPORT_SYMBOL_GPL(md_rdev_merge_bvec);
+
#ifndef MODULE
static void autorun_array(struct mddev *mddev)
{
diff --git a/drivers/md/md.h b/drivers/md/md.h
index 7b4a3c3..fb80ce1 100644
--- a/drivers/md/md.h
+++ b/drivers/md/md.h
@@ -623,6 +623,11 @@ extern void md_stop(struct mddev *mddev);
extern void md_stop_writes(struct mddev *mddev);
extern int md_rdev_init(struct md_rdev *rdev);
extern void md_rdev_clear(struct md_rdev *rdev);
+extern int md_rdev_merge_bvec(struct md_rdev *rdev,
+ struct bvec_merge_data *bvm,
+ struct bio_vec *biovec,
+ sector_t sector,
+ int max_size);
extern void mddev_suspend(struct mddev *mddev);
extern void mddev_resume(struct mddev *mddev);
diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c
index de63a1f..8f1eb2f 100644
--- a/drivers/md/raid0.c
+++ b/drivers/md/raid0.c
@@ -356,12 +356,12 @@ static int raid0_mergeable_bvec(struct request_queue *q,
struct r0conf *conf = mddev->private;
sector_t sector = bvm->bi_sector + get_start_sect(bvm->bi_bdev);
sector_t sector_offset = sector;
+ sector_t bi_sector;
int max;
unsigned int chunk_sectors = mddev->chunk_sectors;
unsigned int bio_sectors = bvm->bi_size >> 9;
struct strip_zone *zone;
struct md_rdev *rdev;
- struct request_queue *subq;
if (is_power_of_2(chunk_sectors))
max = (chunk_sectors - ((sector & (chunk_sectors-1))
@@ -383,14 +383,9 @@ static int raid0_mergeable_bvec(struct request_queue *q,
sector = sector_offset;
zone = find_zone(mddev->private, §or_offset);
rdev = map_sector(mddev, zone, sector, §or_offset);
- subq = bdev_get_queue(rdev->bdev);
- if (subq->merge_bvec_fn) {
- bvm->bi_bdev = rdev->bdev;
- bvm->bi_sector = sector_offset + zone->dev_start +
- rdev->data_offset;
- return min(max, subq->merge_bvec_fn(subq, bvm, biovec));
- } else
- return max;
+ bi_sector = sector_offset + zone->dev_start + rdev->data_offset;
+
+ return md_rdev_merge_bvec(rdev, bvm, biovec, bi_sector, max);
}
static sector_t raid0_size(struct mddev *mddev, sector_t sectors, int raid_disks)
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index 5829f46..ed3c039 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -622,6 +622,7 @@ static int raid1_mergeable_bvec(struct request_queue *q,
struct mddev *mddev = q->queuedata;
struct r1conf *conf = mddev->private;
sector_t sector = bvm->bi_sector + get_start_sect(bvm->bi_bdev);
+ sector_t bi_sector;
int max = biovec->bv_len;
int disk;
@@ -632,12 +633,9 @@ static int raid1_mergeable_bvec(struct request_queue *q,
for (disk = 0; disk < conf->raid_disks * 2; disk++) {
struct md_rdev *rdev = rcu_dereference(conf->mirrors[disk].rdev);
if (rdev && !test_bit(Faulty, &rdev->flags)) {
- struct request_queue *q = bdev_get_queue(rdev->bdev);
- if (q->merge_bvec_fn) {
- bvm->bi_sector = sector + rdev->data_offset;
- bvm->bi_bdev = rdev->bdev;
- max = min(max, q->merge_bvec_fn(q, bvm, biovec));
- }
+ bi_sector = sector + rdev->data_offset;
+ max = md_rdev_merge_bvec(rdev, bvm, biovec,
+ bi_sector, max);
}
}
rcu_read_unlock();
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 83d0e65..1b0ff80 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -622,6 +622,7 @@ static int raid10_mergeable_bvec(struct request_queue *q,
struct mddev *mddev = q->queuedata;
struct r10conf *conf = mddev->private;
sector_t sector = bvm->bi_sector + get_start_sect(bvm->bi_bdev);
+ sector_t bi_sector;
int max;
unsigned int chunk_sectors;
unsigned int bio_sectors = bvm->bi_size >> 9;
@@ -663,23 +664,15 @@ static int raid10_mergeable_bvec(struct request_queue *q,
int disk = r10_bio.devs[s].devnum;
struct md_rdev *rdev = rcu_dereference(conf->mirrors[disk].rdev);
if (rdev && !test_bit(Faulty, &rdev->flags)) {
- struct request_queue *q = bdev_get_queue(rdev->bdev);
- if (q->merge_bvec_fn) {
- bvm->bi_sector = r10_bio.devs[s].addr +
- rdev->data_offset;
- bvm->bi_bdev = rdev->bdev;
- max = min(max, q->merge_bvec_fn(q, bvm, biovec));
- }
+ bi_sector = r10_bio.devs[s].addr + rdev->data_offset;
+ max = md_rdev_merge_bvec(rdev, bvm, biovec,
+ bi_sector, max);
}
rdev = rcu_dereference(conf->mirrors[disk].replacement);
if (rdev && !test_bit(Faulty, &rdev->flags)) {
- struct request_queue *q = bdev_get_queue(rdev->bdev);
- if (q->merge_bvec_fn) {
- bvm->bi_sector = r10_bio.devs[s].addr +
- rdev->data_offset;
- bvm->bi_bdev = rdev->bdev;
- max = min(max, q->merge_bvec_fn(q, bvm, biovec));
- }
+ bi_sector = r10_bio.devs[s].addr + rdev->data_offset;
+ max = md_rdev_merge_bvec(rdev, bvm, biovec,
+ bi_sector, max);
}
}
rcu_read_unlock();
--
1.7.7.6
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/4] md: put EXPORT_SYMBOL macro immediately after the corresponding function
2012-05-31 10:18 [PATCH 1/4] raid1: change the code layout of raid1_mergeable_bvec() to make it look a bit nicer Yuanhan Liu
2012-05-31 10:18 ` [PATCH 2/4] raid10: change the code layout of raid10_mergeable_bvec() " Yuanhan Liu
2012-05-31 10:18 ` [PATCH 3/4] md: introduce md_rdev_merge_bvec to reduce code duplicate Yuanhan Liu
@ 2012-05-31 10:18 ` Yuanhan Liu
2012-06-04 3:42 ` [PATCH 1/4] raid1: change the code layout of raid1_mergeable_bvec() to make it look a bit nicer NeilBrown
3 siblings, 0 replies; 6+ messages in thread
From: Yuanhan Liu @ 2012-05-31 10:18 UTC (permalink / raw)
To: neilb; +Cc: linux-raid, Yuanhan Liu
Just as Documentation/CodingStyle Chapter 6: Functions says:
If the function is exported, the EXPORT* macro for it should
follow immediately after the closing function brace line.
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
drivers/md/md.c | 20 ++++++++++----------
1 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 87e5ce8..8a430e7 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -6751,6 +6751,7 @@ void md_wakeup_thread(struct md_thread *thread)
wake_up(&thread->wqueue);
}
}
+EXPORT_SYMBOL(md_wakeup_thread);
struct md_thread *md_register_thread(void (*run) (struct mddev *), struct mddev *mddev,
const char *name)
@@ -6776,6 +6777,7 @@ struct md_thread *md_register_thread(void (*run) (struct mddev *), struct mddev
}
return thread;
}
+EXPORT_SYMBOL(md_register_thread);
void md_unregister_thread(struct md_thread **threadp)
{
@@ -6793,6 +6795,7 @@ void md_unregister_thread(struct md_thread **threadp)
kthread_stop(thread->tsk);
kfree(thread);
}
+EXPORT_SYMBOL(md_unregister_thread);
void md_error(struct mddev *mddev, struct md_rdev *rdev)
{
@@ -6817,6 +6820,7 @@ void md_error(struct mddev *mddev, struct md_rdev *rdev)
queue_work(md_misc_wq, &mddev->event_work);
md_new_event_inintr(mddev);
}
+EXPORT_SYMBOL(md_error);
/* seq_file implementation /proc/mdstat */
@@ -7144,6 +7148,7 @@ int register_md_personality(struct md_personality *p)
spin_unlock(&pers_lock);
return 0;
}
+EXPORT_SYMBOL(register_md_personality);
int unregister_md_personality(struct md_personality *p)
{
@@ -7153,6 +7158,7 @@ int unregister_md_personality(struct md_personality *p)
spin_unlock(&pers_lock);
return 0;
}
+EXPORT_SYMBOL(unregister_md_personality);
static int is_mddev_idle(struct mddev *mddev, int init)
{
@@ -7209,6 +7215,7 @@ void md_done_sync(struct mddev *mddev, int blocks, int ok)
// stop recovery, signal do_sync ....
}
}
+EXPORT_SYMBOL(md_done_sync);
/* md_write_start(mddev, bi)
@@ -7250,6 +7257,7 @@ void md_write_start(struct mddev *mddev, struct bio *bi)
wait_event(mddev->sb_wait,
!test_bit(MD_CHANGE_PENDING, &mddev->flags));
}
+EXPORT_SYMBOL(md_write_start);
void md_write_end(struct mddev *mddev)
{
@@ -7260,6 +7268,7 @@ void md_write_end(struct mddev *mddev)
mod_timer(&mddev->safemode_timer, jiffies + mddev->safemode_delay);
}
}
+EXPORT_SYMBOL(md_write_end);
/* md_allow_write(mddev)
* Calling this ensures that the array is marked 'active' so that writes
@@ -7901,6 +7910,7 @@ void md_check_recovery(struct mddev *mddev)
mddev_unlock(mddev);
}
}
+EXPORT_SYMBOL(md_check_recovery);
void md_wait_for_blocked_rdev(struct md_rdev *rdev, struct mddev *mddev)
{
@@ -8616,16 +8626,6 @@ module_param(start_dirty_degraded, int, S_IRUGO|S_IWUSR);
module_param_call(new_array, add_named_array, NULL, NULL, S_IWUSR);
-EXPORT_SYMBOL(register_md_personality);
-EXPORT_SYMBOL(unregister_md_personality);
-EXPORT_SYMBOL(md_error);
-EXPORT_SYMBOL(md_done_sync);
-EXPORT_SYMBOL(md_write_start);
-EXPORT_SYMBOL(md_write_end);
-EXPORT_SYMBOL(md_register_thread);
-EXPORT_SYMBOL(md_unregister_thread);
-EXPORT_SYMBOL(md_wakeup_thread);
-EXPORT_SYMBOL(md_check_recovery);
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("MD RAID framework");
MODULE_ALIAS("md");
--
1.7.7.6
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/4] raid1: change the code layout of raid1_mergeable_bvec() to make it look a bit nicer
2012-05-31 10:18 [PATCH 1/4] raid1: change the code layout of raid1_mergeable_bvec() to make it look a bit nicer Yuanhan Liu
` (2 preceding siblings ...)
2012-05-31 10:18 ` [PATCH 4/4] md: put EXPORT_SYMBOL macro immediately after the corresponding function Yuanhan Liu
@ 2012-06-04 3:42 ` NeilBrown
2012-06-04 3:52 ` Yuanhan Liu
3 siblings, 1 reply; 6+ messages in thread
From: NeilBrown @ 2012-06-04 3:42 UTC (permalink / raw)
To: Yuanhan Liu; +Cc: linux-raid
[-- Attachment #1: Type: text/plain, Size: 2344 bytes --]
On Thu, 31 May 2012 18:18:45 +0800 Yuanhan Liu <yuanhan.liu@linux.intel.com>
wrote:
> This don't fix anything but just make function raid1_mergeable_bvec
> look a bit nicer.
>
> Minro note: this make 2 lines exceed 80 a bit(81).
Thanks, but no thanks.
"nicer" is very subjective and others might not agree.
If you are proposing functional changes or fixing bugs then feel free to
reformat or tidy up surrounding code in preparatory patches.
However I'm not really interested in patches that do nothing except make the
code look nicer to you.
Thanks,
NeilBrown
>
> Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
> ---
> drivers/md/raid1.c | 32 +++++++++++++++-----------------
> 1 files changed, 15 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
> index 835de71..5829f46 100644
> --- a/drivers/md/raid1.c
> +++ b/drivers/md/raid1.c
> @@ -623,27 +623,25 @@ static int raid1_mergeable_bvec(struct request_queue *q,
> struct r1conf *conf = mddev->private;
> sector_t sector = bvm->bi_sector + get_start_sect(bvm->bi_bdev);
> int max = biovec->bv_len;
> + int disk;
>
> - if (mddev->merge_check_needed) {
> - int disk;
> - rcu_read_lock();
> - for (disk = 0; disk < conf->raid_disks * 2; disk++) {
> - struct md_rdev *rdev = rcu_dereference(
> - conf->mirrors[disk].rdev);
> - if (rdev && !test_bit(Faulty, &rdev->flags)) {
> - struct request_queue *q =
> - bdev_get_queue(rdev->bdev);
> - if (q->merge_bvec_fn) {
> - bvm->bi_sector = sector +
> - rdev->data_offset;
> - bvm->bi_bdev = rdev->bdev;
> - max = min(max, q->merge_bvec_fn(
> - q, bvm, biovec));
> - }
> + if (!mddev->merge_check_needed)
> + return max;
> +
> + rcu_read_lock();
> + for (disk = 0; disk < conf->raid_disks * 2; disk++) {
> + struct md_rdev *rdev = rcu_dereference(conf->mirrors[disk].rdev);
> + if (rdev && !test_bit(Faulty, &rdev->flags)) {
> + struct request_queue *q = bdev_get_queue(rdev->bdev);
> + if (q->merge_bvec_fn) {
> + bvm->bi_sector = sector + rdev->data_offset;
> + bvm->bi_bdev = rdev->bdev;
> + max = min(max, q->merge_bvec_fn(q, bvm, biovec));
> }
> }
> - rcu_read_unlock();
> }
> + rcu_read_unlock();
> +
> return max;
>
> }
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/4] raid1: change the code layout of raid1_mergeable_bvec() to make it look a bit nicer
2012-06-04 3:42 ` [PATCH 1/4] raid1: change the code layout of raid1_mergeable_bvec() to make it look a bit nicer NeilBrown
@ 2012-06-04 3:52 ` Yuanhan Liu
0 siblings, 0 replies; 6+ messages in thread
From: Yuanhan Liu @ 2012-06-04 3:52 UTC (permalink / raw)
To: NeilBrown; +Cc: linux-raid
On Mon, Jun 04, 2012 at 01:42:56PM +1000, NeilBrown wrote:
> On Thu, 31 May 2012 18:18:45 +0800 Yuanhan Liu <yuanhan.liu@linux.intel.com>
> wrote:
>
> > This don't fix anything but just make function raid1_mergeable_bvec
> > look a bit nicer.
> >
> > Minro note: this make 2 lines exceed 80 a bit(81).
>
> Thanks, but no thanks.
>
> "nicer" is very subjective and others might not agree.
Yeah, agree.
>
> If you are proposing functional changes or fixing bugs then feel free to
> reformat or tidy up surrounding code in preparatory patches.
> However I'm not really interested in patches that do nothing except make the
> code look nicer to you.
Got it and thanks anyway.
>
> Thanks,
> NeilBrown
>
>
> >
> > Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
> > ---
> > drivers/md/raid1.c | 32 +++++++++++++++-----------------
> > 1 files changed, 15 insertions(+), 17 deletions(-)
> >
> > diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
> > index 835de71..5829f46 100644
> > --- a/drivers/md/raid1.c
> > +++ b/drivers/md/raid1.c
> > @@ -623,27 +623,25 @@ static int raid1_mergeable_bvec(struct request_queue *q,
> > struct r1conf *conf = mddev->private;
> > sector_t sector = bvm->bi_sector + get_start_sect(bvm->bi_bdev);
> > int max = biovec->bv_len;
> > + int disk;
> >
> > - if (mddev->merge_check_needed) {
> > - int disk;
> > - rcu_read_lock();
> > - for (disk = 0; disk < conf->raid_disks * 2; disk++) {
> > - struct md_rdev *rdev = rcu_dereference(
> > - conf->mirrors[disk].rdev);
> > - if (rdev && !test_bit(Faulty, &rdev->flags)) {
> > - struct request_queue *q =
> > - bdev_get_queue(rdev->bdev);
> > - if (q->merge_bvec_fn) {
> > - bvm->bi_sector = sector +
> > - rdev->data_offset;
> > - bvm->bi_bdev = rdev->bdev;
> > - max = min(max, q->merge_bvec_fn(
> > - q, bvm, biovec));
> > - }
> > + if (!mddev->merge_check_needed)
> > + return max;
> > +
> > + rcu_read_lock();
> > + for (disk = 0; disk < conf->raid_disks * 2; disk++) {
> > + struct md_rdev *rdev = rcu_dereference(conf->mirrors[disk].rdev);
> > + if (rdev && !test_bit(Faulty, &rdev->flags)) {
> > + struct request_queue *q = bdev_get_queue(rdev->bdev);
> > + if (q->merge_bvec_fn) {
> > + bvm->bi_sector = sector + rdev->data_offset;
> > + bvm->bi_bdev = rdev->bdev;
> > + max = min(max, q->merge_bvec_fn(q, bvm, biovec));
> > }
> > }
> > - rcu_read_unlock();
> > }
> > + rcu_read_unlock();
> > +
> > return max;
> >
> > }
>
^ permalink raw reply [flat|nested] 6+ messages in thread