Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1586630 > unrolled thread

linux-next: build failure after merge of the scsi-mkp tree

Started byStephen Rothwell <sfr@canb.auug.org.au>
First post2017-02-23 04:20 +0100
Last post2017-02-23 15:30 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  linux-next: build failure after merge of the scsi-mkp tree Stephen Rothwell <sfr@canb.auug.org.au> - 2017-02-23 04:20 +0100
    Re: linux-next: build failure after merge of the scsi-mkp tree "Martin K. Petersen" <martin.petersen@oracle.com> - 2017-02-23 15:30 +0100

#1586630 — linux-next: build failure after merge of the scsi-mkp tree

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2017-02-23 04:20 +0100
Subjectlinux-next: build failure after merge of the scsi-mkp tree
Message-ID<tdS6K-3AY-11@gated-at.bofh.it>
Hi Martin,

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

drivers/scsi/qedf/qedf_io.c: In function 'qedf_trace_io':
drivers/scsi/qedf/qedf_io.c:1001:33: error: passing argument 1 of 'atomic_read' from incompatible pointer type [-Werror=incompatible-pointer-types]
  io_log->refcount = atomic_read(&io_req->refcount.refcount);
                                 ^
In file included from arch/x86/include/asm/msr.h:66:0,
                 from arch/x86/include/asm/processor.h:20,
                 from arch/x86/include/asm/cpufeature.h:4,
                 from arch/x86/include/asm/thread_info.h:52,
                 from include/linux/thread_info.h:25,
                 from arch/x86/include/asm/preempt.h:6,
                 from include/linux/preempt.h:59,
                 from include/linux/spinlock.h:50,
                 from drivers/scsi/qedf/qedf_io.c:9:
arch/x86/include/asm/atomic.h:24:28: note: expected 'const atomic_t * {aka const struct <anonymous> *}' but argument is of type 'refcount_t * {aka struct refcount_struct *}'
 static __always_inline int atomic_read(const atomic_t *v)
                            ^
drivers/scsi/qedf/qedf_io.c: In function 'qedf_scsi_completion':
drivers/scsi/qedf/qedf_io.c:1343:27: error: passing argument 1 of 'atomic_read' from incompatible pointer type [-Werror=incompatible-pointer-types]
    refcount = atomic_read(&io_req->refcount.refcount);
                           ^
In file included from arch/x86/include/asm/msr.h:66:0,
                 from arch/x86/include/asm/processor.h:20,
                 from arch/x86/include/asm/cpufeature.h:4,
                 from arch/x86/include/asm/thread_info.h:52,
                 from include/linux/thread_info.h:25,
                 from arch/x86/include/asm/preempt.h:6,
                 from include/linux/preempt.h:59,
                 from include/linux/spinlock.h:50,
                 from drivers/scsi/qedf/qedf_io.c:9:
arch/x86/include/asm/atomic.h:24:28: note: expected 'const atomic_t * {aka const struct <anonymous> *}' but argument is of type 'refcount_t * {aka struct refcount_struct *}'
 static __always_inline int atomic_read(const atomic_t *v)
                            ^
drivers/scsi/qedf/qedf_io.c: In function 'qedf_scsi_done':
drivers/scsi/qedf/qedf_io.c:1428:25: error: passing argument 1 of 'atomic_read' from incompatible pointer type [-Werror=incompatible-pointer-types]
  refcount = atomic_read(&io_req->refcount.refcount);
                         ^
In file included from arch/x86/include/asm/msr.h:66:0,
                 from arch/x86/include/asm/processor.h:20,
                 from arch/x86/include/asm/cpufeature.h:4,
                 from arch/x86/include/asm/thread_info.h:52,
                 from include/linux/thread_info.h:25,
                 from arch/x86/include/asm/preempt.h:6,
                 from include/linux/preempt.h:59,
                 from include/linux/spinlock.h:50,
                 from drivers/scsi/qedf/qedf_io.c:9:
arch/x86/include/asm/atomic.h:24:28: note: expected 'const atomic_t * {aka const struct <anonymous> *}' but argument is of type 'refcount_t * {aka struct refcount_struct *}'
 static __always_inline int atomic_read(const atomic_t *v)
                            ^
In file included from drivers/scsi/qedf/qedf.h:28:0,
                 from drivers/scsi/qedf/qedf_io.c:11:
drivers/scsi/qedf/qedf_io.c: In function 'qedf_flush_els_req':
drivers/scsi/qedf/qedf_io.c:1559:18: error: passing argument 1 of 'atomic_read' from incompatible pointer type [-Werror=incompatible-pointer-types]
      atomic_read(&els_req->refcount.refcount));
                  ^
drivers/scsi/qedf/qedf_dbg.h:83:13: note: in definition of macro 'QEDF_INFO'
          ## __VA_ARGS__)
             ^
In file included from arch/x86/include/asm/msr.h:66:0,
                 from arch/x86/include/asm/processor.h:20,
                 from arch/x86/include/asm/cpufeature.h:4,
                 from arch/x86/include/asm/thread_info.h:52,
                 from include/linux/thread_info.h:25,
                 from arch/x86/include/asm/preempt.h:6,
                 from include/linux/preempt.h:59,
                 from include/linux/spinlock.h:50,
                 from drivers/scsi/qedf/qedf_io.c:9:
arch/x86/include/asm/atomic.h:24:28: note: expected 'const atomic_t * {aka const struct <anonymous> *}' but argument is of type 'refcount_t * {aka struct refcount_struct *}'
 static __always_inline int atomic_read(const atomic_t *v)
                            ^
drivers/scsi/qedf/qedf_els.c: In function 'qedf_rrq_compl':
drivers/scsi/qedf/qedf_els.c:186:25: error: passing argument 1 of 'atomic_read' from incompatible pointer type [-Werror=incompatible-pointer-types]
  refcount = atomic_read(&orig_io_req->refcount.refcount);
                         ^
In file included from arch/x86/include/asm/msr.h:66:0,
                 from arch/x86/include/asm/processor.h:20,
                 from arch/x86/include/asm/cpufeature.h:4,
                 from arch/x86/include/asm/thread_info.h:52,
                 from include/linux/thread_info.h:25,
                 from arch/x86/include/asm/preempt.h:6,
                 from include/linux/preempt.h:59,
                 from include/linux/spinlock.h:50,
                 from include/linux/mm_types.h:8,
                 from include/linux/kmemcheck.h:4,
                 from include/linux/skbuff.h:18,
                 from include/linux/if_ether.h:23,
                 from include/linux/etherdevice.h:25,
                 from include/scsi/libfcoe.h:24,
                 from drivers/scsi/qedf/qedf.h:12,
                 from drivers/scsi/qedf/qedf_els.c:9:
arch/x86/include/asm/atomic.h:24:28: note: expected 'const atomic_t * {aka const struct <anonymous> *}' but argument is of type 'refcount_t * {aka struct refcount_struct *}'
 static __always_inline int atomic_read(const atomic_t *v)
                            ^
drivers/scsi/qedf/qedf_els.c: In function 'qedf_srr_compl':
drivers/scsi/qedf/qedf_els.c:477:25: error: passing argument 1 of 'atomic_read' from incompatible pointer type [-Werror=incompatible-pointer-types]
  refcount = atomic_read(&orig_io_req->refcount.refcount);
                         ^
In file included from arch/x86/include/asm/msr.h:66:0,
                 from arch/x86/include/asm/processor.h:20,
                 from arch/x86/include/asm/cpufeature.h:4,
                 from arch/x86/include/asm/thread_info.h:52,
                 from include/linux/thread_info.h:25,
                 from arch/x86/include/asm/preempt.h:6,
                 from include/linux/preempt.h:59,
                 from include/linux/spinlock.h:50,
                 from include/linux/mm_types.h:8,
                 from include/linux/kmemcheck.h:4,
                 from include/linux/skbuff.h:18,
                 from include/linux/if_ether.h:23,
                 from include/linux/etherdevice.h:25,
                 from include/scsi/libfcoe.h:24,
                 from drivers/scsi/qedf/qedf.h:12,
                 from drivers/scsi/qedf/qedf_els.c:9:
arch/x86/include/asm/atomic.h:24:28: note: expected 'const atomic_t * {aka const struct <anonymous> *}' but argument is of type 'refcount_t * {aka struct refcount_struct *}'
 static __always_inline int atomic_read(const atomic_t *v)
                            ^
drivers/scsi/qedf/qedf_els.c: In function 'qedf_rec_compl':
drivers/scsi/qedf/qedf_els.c:761:25: error: passing argument 1 of 'atomic_read' from incompatible pointer type [-Werror=incompatible-pointer-types]
  refcount = atomic_read(&orig_io_req->refcount.refcount);
                         ^
In file included from arch/x86/include/asm/msr.h:66:0,
                 from arch/x86/include/asm/processor.h:20,
                 from arch/x86/include/asm/cpufeature.h:4,
                 from arch/x86/include/asm/thread_info.h:52,
                 from include/linux/thread_info.h:25,
                 from arch/x86/include/asm/preempt.h:6,
                 from include/linux/preempt.h:59,
                 from include/linux/spinlock.h:50,
                 from include/linux/mm_types.h:8,
                 from include/linux/kmemcheck.h:4,
                 from include/linux/skbuff.h:18,
                 from include/linux/if_ether.h:23,
                 from include/linux/etherdevice.h:25,
                 from include/scsi/libfcoe.h:24,
                 from drivers/scsi/qedf/qedf.h:12,
                 from drivers/scsi/qedf/qedf_els.c:9:
arch/x86/include/asm/atomic.h:24:28: note: expected 'const atomic_t * {aka const struct <anonymous> *}' but argument is of type 'refcount_t * {aka struct refcount_struct *}'
 static __always_inline int atomic_read(const atomic_t *v)
                            ^

Caused by commit

  61d8658b4a43 ("scsi: qedf: Add QLogic FastLinQ offload FCoE driver framework")

being rebased on top of commit

  10383aea2f44 ("kref: Implement 'struct kref' using refcount_t")

and not using kref_read() to access the refcounts.

I don't understand why you would rebase you work onto Linus' tree in
the middle of the merge window in any case. :-(

I have used the scsi-mkp tree from next-20170221 again.
-- 
Cheers,
Stephen Rothwell

[toc] | [next] | [standalone]


#1586918

From"Martin K. Petersen" <martin.petersen@oracle.com>
Date2017-02-23 15:30 +0100
Message-ID<te2z8-2s9-17@gated-at.bofh.it>
In reply to#1586630
>>>>> "Stephen" == Stephen Rothwell <sfr@canb.auug.org.au> writes:

Stephen,

Stephen> Caused by commit

Stephen>   61d8658b4a43 ("scsi: qedf: Add QLogic FastLinQ offload FCoE
Stephen>   driver framework")

Stephen> being rebased on top of commit

Stephen>   10383aea2f44 ("kref: Implement 'struct kref' using
Stephen>   refcount_t")

Stephen> and not using kref_read() to access the refcounts.

*sigh*

Chad: Please fix these up ASAP.


Stephen> I don't understand why you would rebase you work onto Linus'
Stephen> tree in the middle of the merge window in any case. :-(

I didn't rebase my existing patch queue. I started a new for-next based
on linus/master. Half of this new QLogic driver lives under net so I had
to wait for Linus to pull DaveM's tree before I could merge the SCSI
portion :(

We often have to do two-stage merge windows with SCSI because of
dependencies on changes in both block and net (the latter increasingly
so because of the popularity of converged adapters that do both networks
and storage).

-- 
Martin K. Petersen	Oracle Linux Engineering

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web