From: Stephen Rothwell on
Hi Jens,

After merging the block tree, today's linux-next build (x86_64
allmodconfig) failed like this:

fs/ceph/rbd.c: In function 'rbd_rq_fn':
fs/ceph/rbd.c:1101: error: implicit declaration of function 'blk_fs_request'
fs/ceph/rbd.c:1101: error: implicit declaration of function 'blk_barrier_rq'

Caused by commit fc734ac98dbce1e3d3e1e1359524c279a336ac49 ("block: remove
wrappers for request type/flags") interacting with commit
e7fdb915217126d23ff2aafb2d5fdce21b763df1 ("ceph-rbd: rados block device")
from the ceph tree.

I applied the following merge fix patch (Christoph, I assume that this
should be directly applicable to the ceph tree, right?):

From: Stephen Rothwell <sfr(a)canb.auug.org.au>
Date: Tue, 3 Aug 2010 13:08:18 +1000
Subject: [PATCH] ceph: update for removal of request flag wrappers

Signed-off-by: Stephen Rothwell <sfr(a)canb.auug.org.au>
---
fs/ceph/rbd.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/fs/ceph/rbd.c b/fs/ceph/rbd.c
index 86c8b06..1fa2634 100644
--- a/fs/ceph/rbd.c
+++ b/fs/ceph/rbd.c
@@ -1098,7 +1098,8 @@ static void rbd_rq_fn(struct request_queue *q)
dout("fetched request\n");

/* filter out block requests we don't understand */
- if (!blk_fs_request(rq) && !blk_barrier_rq(rq)) {
+ if ((rq->cmd_type != REQ_TYPE_FS) &&
+ !(rq->cmd_flags & REQ_HARDBARRIER)) {
__blk_end_request_all(rq, 0);
goto next;
}
--
1.7.1

--
Cheers,
Stephen Rothwell sfr(a)canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Jens Axboe on
On 2010-08-03 05:12, Stephen Rothwell wrote:
> Hi Jens,
>
> After merging the block tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> fs/ceph/rbd.c: In function 'rbd_rq_fn':
> fs/ceph/rbd.c:1101: error: implicit declaration of function 'blk_fs_request'
> fs/ceph/rbd.c:1101: error: implicit declaration of function 'blk_barrier_rq'
>
> Caused by commit fc734ac98dbce1e3d3e1e1359524c279a336ac49 ("block: remove
> wrappers for request type/flags") interacting with commit
> e7fdb915217126d23ff2aafb2d5fdce21b763df1 ("ceph-rbd: rados block device")
> from the ceph tree.
>
> I applied the following merge fix patch (Christoph, I assume that this
> should be directly applicable to the ceph tree, right?):

Yep, that'll work and should be applicable to ceph even when run outside
of the block tree merge.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Christoph Hellwig on
On Tue, Aug 03, 2010 at 01:12:02PM +1000, Stephen Rothwell wrote:
> I applied the following merge fix patch (Christoph, I assume that this
> should be directly applicable to the ceph tree, right?):

Yes, it looks good.

> - if (!blk_fs_request(rq) && !blk_barrier_rq(rq)) {
> + if ((rq->cmd_type != REQ_TYPE_FS) &&
> + !(rq->cmd_flags & REQ_HARDBARRIER)) {
> __blk_end_request_all(rq, 0);
> goto next;

Although these days barriers are REQ_TYPE_FS anyway, so the second check
is superflous.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/