Distributed Replicated Block Device (DRBD) development
 help / color / mirror / Atom feed
* [Drbd-dev] linux-next: drbd tree build failure
@ 2009-09-15  6:07 Stephen Rothwell
  2009-09-15  6:23 ` Jens Axboe
  0 siblings, 1 reply; 9+ messages in thread
From: Stephen Rothwell @ 2009-09-15  6:07 UTC (permalink / raw)
  To: Philipp Reisner, drbd-dev
  Cc: Nikanth, Karthikesan, linux-next, linux-kernel, Jens Axboe

Hi Philipp,

Today's linux-next build (x86_64 allmodconfig) failed like this:

drivers/block/drbd/drbd_req.c: In function '_drbd_start_io_acct':
drivers/block/drbd/drbd_req.c:45: error: lvalue required as increment operand
drivers/block/drbd/drbd_req.c: In function '_drbd_end_io_acct':
drivers/block/drbd/drbd_req.c:58: error: lvalue required as decrement operand

Caused by commit 954749162c98ca45c42cbc00c9ed6d5d6c0b8bb7 ("DRBD:
request") from the drbd tree interacting with commit
a9327cac440be4d8333bba975cbbf76045096275 ("Seperate read and write
statistics of in_flight requests") from the block tree.

I have applied the following merge fix for today, but there may be a
better fix.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 15 Sep 2009 16:03:50 +1000
Subject: [PATCH] drbd: fix for in_flight change in block tree

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/block/drbd/drbd_req.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/block/drbd/drbd_req.c b/drivers/block/drbd/drbd_req.c
index cbdc257..0656cf1 100644
--- a/drivers/block/drbd/drbd_req.c
+++ b/drivers/block/drbd/drbd_req.c
@@ -42,7 +42,7 @@ static void _drbd_start_io_acct(struct drbd_conf *mdev, struct drbd_request *req
 	part_stat_inc(cpu, &mdev->vdisk->part0, ios[rw]);
 	part_stat_add(cpu, &mdev->vdisk->part0, sectors[rw], bio_sectors(bio));
 	part_stat_unlock();
-	mdev->vdisk->part0.in_flight++;
+	mdev->vdisk->part0.in_flight[rw]++;
 }
 
 /* Update disk stats when completing request upwards */
@@ -55,7 +55,7 @@ static void _drbd_end_io_acct(struct drbd_conf *mdev, struct drbd_request *req)
 	part_stat_add(cpu, &mdev->vdisk->part0, ticks[rw], duration);
 	part_round_stats(cpu, &mdev->vdisk->part0);
 	part_stat_unlock();
-	mdev->vdisk->part0.in_flight--;
+	mdev->vdisk->part0.in_flight[rw]--;
 }
 
 static void _req_is_done(struct drbd_conf *mdev, struct drbd_request *req, const int rw)
-- 
1.6.3.3


-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [Drbd-dev] linux-next: drbd tree build failure
@ 2009-07-29  5:29 Stephen Rothwell
       [not found] ` <yq1prbk59bv.fsf@sermon.lab.mkp.net>
  0 siblings, 1 reply; 9+ messages in thread
From: Stephen Rothwell @ 2009-07-29  5:29 UTC (permalink / raw)
  To: Philipp Reisner; +Cc: Jens Axboe, linux-next, linux-kernel, Petersen, Martin

Hi Philipp,

Today's linux-next build (x86_64 allmodconfig) failed like this:

drivers/block/drbd/drbd_nl.c: In function 'drbd_setup_queue_param':
drivers/block/drbd/drbd_nl.c:707: error: implicit declaration of function 'blk_queue_stack_limits'

Caused by commit 6dc986e736ca1e76a45d025a920f3a66855fc2aa ("block:
Deprecate blk_queue_stack_limits") from the block tree.

I have applied the following patch for today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 29 Jul 2009 15:25:23 +1000
Subject: [PATCH] drbd: fix for removal of blk_queue_stack_limits

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/block/drbd/drbd_nl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c
index 1e87ad0..0ec86e8 100644
--- a/drivers/block/drbd/drbd_nl.c
+++ b/drivers/block/drbd/drbd_nl.c
@@ -704,7 +704,7 @@ void drbd_setup_queue_param(struct drbd_conf *mdev, unsigned int max_seg_s) __mu
 	blk_queue_max_segment_size(q, max_seg_s);
 	blk_queue_logical_block_size(q, 512);
 	blk_queue_segment_boundary(q, PAGE_SIZE-1);
-	blk_queue_stack_limits(q, b);
+	blk_stack_limits(&q->limits, &b->limits, 0);
 
 	if (b->merge_bvec_fn)
 		dev_warn(DEV, "Backing device's merge_bvec_fn() = %p\n",
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [Drbd-dev] linux-next: drbd tree build failure
@ 2009-07-29  5:29 Stephen Rothwell
  0 siblings, 0 replies; 9+ messages in thread
From: Stephen Rothwell @ 2009-07-29  5:29 UTC (permalink / raw)
  To: Philipp Reisner; +Cc: linux-next, linux-kernel, Jens Axboe

Hi Philipp,

Today's linux-next build (x86_64 allmodconfig) failed like this:

drivers/block/drbd/drbd_req.c: In function 'drbd_make_request_26':
drivers/block/drbd/drbd_req.c:1023: error: implicit declaration of function 'bio_barrier'
drivers/block/drbd/drbd_actlog.c: In function '_drbd_md_sync_page_io':
drivers/block/drbd/drbd_actlog.c:120: error: implicit declaration of function 'bio_barrier'
drivers/block/drbd/drbd_main.c: In function 'drbd_send_dblock':
drivers/block/drbd/drbd_main.c:2373: error: implicit declaration of function 'bio_barrier'
drivers/block/drbd/drbd_main.c:2375: error: implicit declaration of function 'bio_sync'

Caused by commit d206aaff0c5ee065f382c626ea21c5166a3047a7 ("bio: first
step in sanitizing the bio->bi_rw flag testing") from the block tree.

I applied the following patch for today.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 29 Jul 2009 15:13:31 +1000
Subject: [PATCH] drbd: fixups for block api changes

bio_barrier() and bio_sync() are going away.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/block/drbd/drbd_actlog.c |    2 +-
 drivers/block/drbd/drbd_main.c   |    4 ++--
 drivers/block/drbd/drbd_req.c    |    2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/block/drbd/drbd_actlog.c b/drivers/block/drbd/drbd_actlog.c
index 1e53d16..3851869 100644
--- a/drivers/block/drbd/drbd_actlog.c
+++ b/drivers/block/drbd/drbd_actlog.c
@@ -117,7 +117,7 @@ static int _drbd_md_sync_page_io(struct drbd_conf *mdev,
 	/* check for unsupported barrier op.
 	 * would rather check on EOPNOTSUPP, but that is not reliable.
 	 * don't try again for ANY return value != 0 */
-	if (unlikely(bio_barrier(bio) && !ok)) {
+	if (unlikely(bio_rw_flagged(bio, BIO_RW_BARRIER) && !ok)) {
 		/* Try again with no barrier */
 		dev_warn(DEV, "Barriers not supported on meta data device - disabling\n");
 		set_bit(MD_NO_BARRIER, &mdev->flags);
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index 20f4d40..9e051a8 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -2370,9 +2370,9 @@ int drbd_send_dblock(struct drbd_conf *mdev, struct drbd_request *req)
 	/* NOTE: no need to check if barriers supported here as we would
 	 *       not pass the test in make_request_common in that case
 	 */
-	if (bio_barrier(req->master_bio))
+	if (bio_rw_flagged(req->master_bio, BIO_RW_BARRIER))
 		dp_flags |= DP_HARDBARRIER;
-	if (bio_sync(req->master_bio))
+	if (bio_rw_flagged(req->master_bio, BIO_RW_SYNCIO))
 		dp_flags |= DP_RW_SYNC;
 	if (mdev->state.conn >= C_SYNC_SOURCE &&
 	    mdev->state.conn <= C_PAUSED_SYNC_T)
diff --git a/drivers/block/drbd/drbd_req.c b/drivers/block/drbd/drbd_req.c
index d2b941c..fc8d835 100644
--- a/drivers/block/drbd/drbd_req.c
+++ b/drivers/block/drbd/drbd_req.c
@@ -1020,7 +1020,7 @@ int drbd_make_request_26(struct request_queue *q, struct bio *bio)
 	 * because of those XXX, this is not yet enabled,
 	 * i.e. in drbd_init_set_defaults we set the NO_BARRIER_SUPP bit.
 	 */
-	if (unlikely(bio_barrier(bio) && test_bit(NO_BARRIER_SUPP, &mdev->flags))) {
+	if (unlikely(bio_rw_flagged(bio, BIO_RW_BARRIER) && test_bit(NO_BARRIER_SUPP, &mdev->flags))) {
 		/* dev_warn(DEV, "Rejecting barrier request as underlying device does not support\n"); */
 		bio_endio(bio, -EOPNOTSUPP);
 		return 0;
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-09-15 14:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-15  6:07 [Drbd-dev] linux-next: drbd tree build failure Stephen Rothwell
2009-09-15  6:23 ` Jens Axboe
2009-09-15  6:53   ` Stephen Rothwell
2009-09-15  6:57     ` Jens Axboe
2009-09-15  7:45       ` Stephen Rothwell
2009-09-15 14:03     ` Philipp Reisner
  -- strict thread matches above, loose matches on Subject: below --
2009-07-29  5:29 Stephen Rothwell
     [not found] ` <yq1prbk59bv.fsf@sermon.lab.mkp.net>
2009-07-29  6:17   ` Stephen Rothwell
2009-07-29  5:29 Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox