On Wed, May 18, 2016 at 06:30:16AM -0700, Guenter Roeck wrote:
> drivers/s390/block/dcssblk.c:43:2: warning: initialization from incompatible
> pointer type [enabled by default]
> drivers/s390/block/dcssblk.c:43:2: warning: (near initialization for
> 'dcssblk_devops.direct_access') [enabled by default]
> drivers/s390/block/dcssblk.c:886:1: error: conflicting types for
> 'dcssblk_direct_access'
> drivers/s390/block/dcssblk.c:33:13: note: previous declaration of
> 'dcssblk_direct_access' was here
> drivers/s390/block/dcssblk.c:33:13: warning: 'dcssblk_direct_access' used but
> never defined [enabled by default]
> drivers/s390/block/dcssblk.c:886:1: warning: 'dcssblk_direct_access' defined
> but not used [-Wunused-function]
> scripts/Makefile.build:295: recipe for target 'drivers/s390/block/dcssblk.o'
> failed
> make[2]: *** [drivers/s390/block/dcssblk.o] Error 1
>
> Bisect points to commit 2b954df309078 ("dax: enable dax in the presence of
> known media errors (badblocks)".
> Bisect log is attached.
>
> Guenter
>
Hi Guenter,
Thanks for the report.
The following incremental patch should fix the problem. I'll fold it in
to dax-misc (to prevent the bisect regression), and it should get picked
by -next in the next build.
-Vishal
8<-----
>From 56f2a2a270b853263704d5b8fa6a6a898fe313ca Mon Sep 17 00:00:00 2001
From: Vishal Verma <[email protected]>
Date: Wed, 18 May 2016 12:12:23 -0600
Subject: [PATCH] dcssblk: fix the direct_access prototype to add 'size'
Fixes 2b954df309078 dax: enable dax in the presence of known media
errors (badblocks)
When 'size' was added to the direct_access arguments, I neglected to
update the prototype declaration for dcssblk.
Reported-by: Guenter Roeck <[email protected]>
Signed-off-by: Vishal Verma <[email protected]>
---
drivers/s390/block/dcssblk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/s390/block/dcssblk.c b/drivers/s390/block/dcssblk.c
index c45d538..bed53c4 100644
--- a/drivers/s390/block/dcssblk.c
+++ b/drivers/s390/block/dcssblk.c
@@ -31,7 +31,7 @@ static void dcssblk_release(struct gendisk *disk, fmode_t
mode);
static blk_qc_t dcssblk_make_request(struct request_queue *q,
struct bio *bio);
static long dcssblk_direct_access(struct block_device *bdev, sector_t secnum,
- void __pmem **kaddr, pfn_t *pfn);
+ void __pmem **kaddr, pfn_t *pfn, long size);
static char dcssblk_segments[DCSSBLK_PARM_LEN] = "\0";
--
2.5.5