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


Groups > linux.kernel > #1546679 > unrolled thread

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

Started byStephen Rothwell <sfr@canb.auug.org.au>
First post2016-12-23 01:50 +0100
Last post2016-12-24 17:50 +0100
Articles 6 — 4 participants

Back to article view | Back to linux.kernel


Contents

  linux-next: build failure after merge of the scsi tree Stephen Rothwell <sfr@canb.auug.org.au> - 2016-12-23 01:50 +0100
    Re: linux-next: build failure after merge of the scsi tree James Bottomley <James.Bottomley@HansenPartnership.com> - 2016-12-23 02:00 +0100
      Re: linux-next: build failure after merge of the scsi tree Ingo Molnar <mingo@kernel.org> - 2016-12-24 11:20 +0100
        Re: linux-next: build failure after merge of the scsi tree Stephen Rothwell <sfr@canb.auug.org.au> - 2016-12-24 11:50 +0100
      Re: linux-next: build failure after merge of the scsi tree Thomas Gleixner <tglx@linutronix.de> - 2016-12-24 13:00 +0100
        Re: linux-next: build failure after merge of the scsi tree James Bottomley <James.Bottomley@HansenPartnership.com> - 2016-12-24 17:50 +0100

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

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2016-12-23 01:50 +0100
Subjectlinux-next: build failure after merge of the scsi tree
Message-ID<sRmdA-8bw-13@gated-at.bofh.it>
Hi James,

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

drivers/scsi/qedi/qedi_main.c: In function 'qedi_init':
drivers/scsi/qedi/qedi_main.c:2073:2: error: implicit declaration of function 'register_hotcpu_notifier' [-Werror=implicit-function-declaration]
  register_hotcpu_notifier(&qedi_cpu_notifier);
  ^
drivers/scsi/qedi/qedi_main.c: In function 'qedi_cleanup':
drivers/scsi/qedi/qedi_main.c:2113:2: error: implicit declaration of function 'unregister_hotcpu_notifier' [-Werror=implicit-function-declaration]
  unregister_hotcpu_notifier(&qedi_cpu_notifier);
  ^

Caused by commit

  ace7f46ba5fd ("scsi: qedi: Add QLogic FastLinQ offload iSCSI driver framework.")

Interacting with commit

  8e38db753d95 ("cpu/hotplug: Remove obsolete cpu hotplug register/unregister functions")

from the tip tree.

I have disabled that driver for now:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 23 Dec 2016 11:39:41 +1100
Subject: [PATCH] scsi: disable the QEDI driver for now

until it can be converted to cope with the removal of
register_hotcpu_notifier.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/scsi/qedi/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/scsi/qedi/Kconfig b/drivers/scsi/qedi/Kconfig
index 23ca8a274586..8261f0abd807 100644
--- a/drivers/scsi/qedi/Kconfig
+++ b/drivers/scsi/qedi/Kconfig
@@ -2,6 +2,7 @@ config QEDI
 	tristate "QLogic QEDI 25/40/100Gb iSCSI Initiator Driver Support"
 	depends on PCI && SCSI
 	depends on QED
+	depends on BROKEN
 	select SCSI_ISCSI_ATTRS
 	select QED_LL2
 	select QED_ISCSI
-- 
2.10.2

-- 
Cheers,
Stephen Rothwell

[toc] | [next] | [standalone]


#1546680

FromJames Bottomley <James.Bottomley@HansenPartnership.com>
Date2016-12-23 02:00 +0100
Message-ID<sRmnf-8eG-1@gated-at.bofh.it>
In reply to#1546679
On Fri, 2016-12-23 at 11:45 +1100, Stephen Rothwell wrote:
> Hi James,
> 
> After merging the scsi tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/scsi/qedi/qedi_main.c: In function 'qedi_init':
> drivers/scsi/qedi/qedi_main.c:2073:2: error: implicit declaration of
> function 'register_hotcpu_notifier' [-Werror=implicit-function
> -declaration]
>   register_hotcpu_notifier(&qedi_cpu_notifier);
>   ^
> drivers/scsi/qedi/qedi_main.c: In function 'qedi_cleanup':
> drivers/scsi/qedi/qedi_main.c:2113:2: error: implicit declaration of
> function 'unregister_hotcpu_notifier' [-Werror=implicit-function
> -declaration]
>   unregister_hotcpu_notifier(&qedi_cpu_notifier);
>   ^
> 
> Caused by commit
> 
>   ace7f46ba5fd ("scsi: qedi: Add QLogic FastLinQ offload iSCSI driver
> framework.")
> 
> Interacting with commit
> 
>   8e38db753d95 ("cpu/hotplug: Remove obsolete cpu hotplug
> register/unregister functions")
> 
> from the tip tree.

Well, that's a bit of a problem given that the SCSI tree has a pending
pull request including this driver.

Thomas, can you do another fixup in your tip tree like you did for the
two BNX2* drivers?

Thanks,

James

[toc] | [prev] | [next] | [standalone]


#1547040

FromIngo Molnar <mingo@kernel.org>
Date2016-12-24 11:20 +0100
Message-ID<sRRAJ-5Di-1@gated-at.bofh.it>
In reply to#1546680
* Stephen Rothwell <sfr@canb.auug.org.au> wrote:

> Hi All,
> 
> On Thu, 22 Dec 2016 16:56:34 -0800 James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
> >
> > On Fri, 2016-12-23 at 11:45 +1100, Stephen Rothwell wrote:
> > > Hi James,
> > > 
> > > After merging the scsi tree, today's linux-next build (x86_64
> > > allmodconfig) failed like this:
> > > 
> > > drivers/scsi/qedi/qedi_main.c: In function 'qedi_init':
> > > drivers/scsi/qedi/qedi_main.c:2073:2: error: implicit declaration of
> > > function 'register_hotcpu_notifier' [-Werror=implicit-function
> > > -declaration]
> > >   register_hotcpu_notifier(&qedi_cpu_notifier);
> > >   ^
> > > drivers/scsi/qedi/qedi_main.c: In function 'qedi_cleanup':
> > > drivers/scsi/qedi/qedi_main.c:2113:2: error: implicit declaration of
> > > function 'unregister_hotcpu_notifier' [-Werror=implicit-function
> > > -declaration]
> > >   unregister_hotcpu_notifier(&qedi_cpu_notifier);
> > >   ^
> > > 
> > > Caused by commit
> > > 
> > >   ace7f46ba5fd ("scsi: qedi: Add QLogic FastLinQ offload iSCSI driver
> > > framework.")
> > > 
> > > Interacting with commit
> > > 
> > >   8e38db753d95 ("cpu/hotplug: Remove obsolete cpu hotplug
> > > register/unregister functions")
> > > 
> > > from the tip tree.  
> > 
> > Well, that's a bit of a problem given that the SCSI tree has a pending
> > pull request including this driver.
> > 
> > Thomas, can you do another fixup in your tip tree like you did for the
> > two BNX2* drivers?
> 
> OK, so this is now a problem for the tip tree merge since James tree
> has been pulled by Linus.

Yeah, we'll handle it - that's why the final chunk of changes were left to after 
-rc1, to not cause such merge conflicts upstream.

For now I've excluded the relevant -tip side commits from the linux-next branch.

Thanks,

	Ingo

[toc] | [prev] | [next] | [standalone]


#1547042

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2016-12-24 11:50 +0100
Message-ID<sRS3L-5L0-3@gated-at.bofh.it>
In reply to#1547040
Hi Ingo,

On Sat, 24 Dec 2016 11:15:08 +0100 Ingo Molnar <mingo@kernel.org> wrote:
>
> Yeah, we'll handle it - that's why the final chunk of changes were left to after 
> -rc1, to not cause such merge conflicts upstream.

Excellent, thanks.

> For now I've excluded the relevant -tip side commits from the linux-next branch.

Well, there probably won't be any linux-next releases until Jan 3, so that's ok.

-- 
Cheers,
Stephen Rothwell

[toc] | [prev] | [next] | [standalone]


#1547049

FromThomas Gleixner <tglx@linutronix.de>
Date2016-12-24 13:00 +0100
Message-ID<sRT9w-6rH-7@gated-at.bofh.it>
In reply to#1546680
On Sat, 24 Dec 2016, Stephen Rothwell wrote:
> On Thu, 22 Dec 2016 16:56:34 -0800 James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
> >
> > On Fri, 2016-12-23 at 11:45 +1100, Stephen Rothwell wrote:
> > > Hi James,
> > > 
> > > After merging the scsi tree, today's linux-next build (x86_64
> > > allmodconfig) failed like this:
> > > 
> > > drivers/scsi/qedi/qedi_main.c: In function 'qedi_init':
> > > drivers/scsi/qedi/qedi_main.c:2073:2: error: implicit declaration of
> > > function 'register_hotcpu_notifier' [-Werror=implicit-function
> > > -declaration]
> > >   register_hotcpu_notifier(&qedi_cpu_notifier);
> > >   ^
> > > drivers/scsi/qedi/qedi_main.c: In function 'qedi_cleanup':
> > > drivers/scsi/qedi/qedi_main.c:2113:2: error: implicit declaration of
> > > function 'unregister_hotcpu_notifier' [-Werror=implicit-function
> > > -declaration]
> > >   unregister_hotcpu_notifier(&qedi_cpu_notifier);
> > >   ^
> > > 
> > > Caused by commit
> > > 
> > >   ace7f46ba5fd ("scsi: qedi: Add QLogic FastLinQ offload iSCSI driver
> > > framework.")
> > > 
> > > Interacting with commit
> > > 
> > >   8e38db753d95 ("cpu/hotplug: Remove obsolete cpu hotplug
> > > register/unregister functions")
> > > 
> > > from the tip tree.  
> > 
> > Well, that's a bit of a problem given that the SCSI tree has a pending
> > pull request including this driver.
> > 
> > Thomas, can you do another fixup in your tip tree like you did for the
> > two BNX2* drivers?
> 
> OK, so this is now a problem for the tip tree merge since James tree
> has been pulled by Linus.

Sure, because SSCI people merge broken crap and I can wipe up the mess they
create.

Dammit, SCSI folks knew for a long time that the old interface goes away,
but just waving crap through and let other people deal with the outcome is
way simpler.

And of course that hotplug code in this new driver is broken as hell. It
leaks notifiers in cases of errors and is racy against cpu hotplug. The
proper thing would be to mark this trainwreck broken and be done with it.

I'm seriously pissed off as I now have to rebase my stuff and cleanup that
sad affair in order to not break bisects completely.

Yours grumpy,

	tglx

.

[toc] | [prev] | [next] | [standalone]


#1547082

FromJames Bottomley <James.Bottomley@HansenPartnership.com>
Date2016-12-24 17:50 +0100
Message-ID<sRXGa-TW-9@gated-at.bofh.it>
In reply to#1547049
On Sat, 2016-12-24 at 12:46 +0100, Thomas Gleixner wrote:
> On Sat, 24 Dec 2016, Stephen Rothwell wrote:
> > On Thu, 22 Dec 2016 16:56:34 -0800 James Bottomley <
> > James.Bottomley@HansenPartnership.com> wrote:
> > > 
> > > On Fri, 2016-12-23 at 11:45 +1100, Stephen Rothwell wrote:
> > > > Hi James,
> > > > 
> > > > After merging the scsi tree, today's linux-next build (x86_64
> > > > allmodconfig) failed like this:
> > > > 
> > > > drivers/scsi/qedi/qedi_main.c: In function 'qedi_init':
> > > > drivers/scsi/qedi/qedi_main.c:2073:2: error: implicit
> > > > declaration of
> > > > function 'register_hotcpu_notifier' [-Werror=implicit-function
> > > > -declaration]
> > > >   register_hotcpu_notifier(&qedi_cpu_notifier);
> > > >   ^
> > > > drivers/scsi/qedi/qedi_main.c: In function 'qedi_cleanup':
> > > > drivers/scsi/qedi/qedi_main.c:2113:2: error: implicit
> > > > declaration of
> > > > function 'unregister_hotcpu_notifier' [-Werror=implicit
> > > > -function
> > > > -declaration]
> > > >   unregister_hotcpu_notifier(&qedi_cpu_notifier);
> > > >   ^
> > > > 
> > > > Caused by commit
> > > > 
> > > >   ace7f46ba5fd ("scsi: qedi: Add QLogic FastLinQ offload iSCSI
> > > > driver
> > > > framework.")
> > > > 
> > > > Interacting with commit
> > > > 
> > > >   8e38db753d95 ("cpu/hotplug: Remove obsolete cpu hotplug
> > > > register/unregister functions")
> > > > 
> > > > from the tip tree.  
> > > 
> > > Well, that's a bit of a problem given that the SCSI tree has a 
> > > pending pull request including this driver.
> > > 
> > > Thomas, can you do another fixup in your tip tree like you did 
> > > for the two BNX2* drivers?
> > 
> > OK, so this is now a problem for the tip tree merge since James 
> > tree has been pulled by Linus.
> 
> Sure, because SSCI people merge broken crap and I can wipe up the 
> mess they create.

Well, the driver was reviewed, but I don't think biting the heads of
the reviewers would help.

> Dammit, SCSI folks knew for a long time that the old interface goes
> away, but just waving crap through and let other people deal with the
> outcome is way simpler.

So this is the problem: I don't think this was actually communicated
this in a meaningful way; I think that's because we don't really have a
functional process for deprecating stuff.  Saying "this is broken or
deprecated" doesn't work because people don't necessarily see it and
even if they do, they often forget.  Putting it in some document
doesn't work either because we can't agree which one (and even if we
could, I bet the reviewers won't always consult it).

So here's the thing: if you want me to notice that a driver is using a
deprecated API, the API must be *marked* as deprecated so that I get a
build warning to investigate.  Absent that, I'm going to assume the
reviewers knew what they were talking about ... and likely a build
warning is the only way they'd know as well.

> And of course that hotplug code in this new driver is broken as hell. 
> It leaks notifiers in cases of errors and is racy against cpu 
> hotplug. The proper thing would be to mark this trainwreck broken and 
> be done with it.
> 
> I'm seriously pissed off as I now have to rebase my stuff and cleanup 
> that sad affair in order to not break bisects completely.

Well, I'm sorry, but it's a timing thing.  I could have removed this
driver from the pull it if I'd got the next failure before it was in
-flight.  I did incubate this final pull tree in next for a week which
was supposed to catch all the issues like this.

James

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web