[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1456529580.2369.60.camel@HansenPartnership.com>
Date: Fri, 26 Feb 2016 15:33:00 -0800
From: James Bottomley <James.Bottomley@...senPartnership.com>
To: KY Srinivasan <kys@...rosoft.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devel@...uxdriverproject.org" <devel@...uxdriverproject.org>,
"ohering@...e.com" <ohering@...e.com>,
"jbottomley@...allels.com" <jbottomley@...allels.com>,
"hch@...radead.org" <hch@...radead.org>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"apw@...onical.com" <apw@...onical.com>,
"vkuznets@...hat.com" <vkuznets@...hat.com>,
"jasowang@...hat.com" <jasowang@...hat.com>,
"martin.petersen@...cle.com" <martin.petersen@...cle.com>,
"hare@...e.de" <hare@...e.de>
Subject: Re: [PATCH 1/1] scsi: storvsc: Fix a build issue reported by kbuild
test robot
On Fri, 2016-02-26 at 23:22 +0000, KY Srinivasan wrote:
>
> > -----Original Message-----
> > From: James Bottomley [mailto:James.Bottomley@...senPartnership.com
> > ]
> > Sent: Friday, February 26, 2016 2:25 PM
> > To: KY Srinivasan <kys@...rosoft.com>; linux-kernel@...r.kernel.org
> > ;
> > devel@...uxdriverproject.org; ohering@...e.com;
> > jbottomley@...allels.com; hch@...radead.org;
> > linux-scsi@...r.kernel.org;
> > apw@...onical.com; vkuznets@...hat.com; jasowang@...hat.com;
> > martin.petersen@...cle.com; hare@...e.de
> > Subject: Re: [PATCH 1/1] scsi: storvsc: Fix a build issue reported
> > by kbuild test
> > robot
> >
> > On Fri, 2016-02-26 at 15:45 -0800, K. Y. Srinivasan wrote:
> > > tree:
> > > https://na01.safelinks.protection.outlook.com/?url=https%3a%2
> > > f%2fgit.kernel.org%2fpub%2fscm%2flinux%2fkernel%2fgit%2ftorvalds%
> > > 2fli
> > >
> > nux.git&data=01%7c01%7ckys%40microsoft.com%7ce2e0622715844b79ad71
> > 08d3
> > >
> > 2796ec3c%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=ubr4GbBaNS
> > %2ftO
> > > z%2buJBk0CL9N0UNG9x2TidLgy6Yovg4%3d master
> > > head: 03c21cb775a313f1ff19be59c5d02df3e3526471
> > > commit: dac582417bc449b1f7f572d3f1dd9d23eec15cc9 storvsc:
> > > Properly
> > > support Fibre Channel devices
> > > date: 3 weeks ago
> > > config: x86_64-randconfig-s3-01281016 (attached as .config)
> > > reproduce:
> > > git checkout dac582417bc449b1f7f572d3f1dd9d23eec15cc9
> > > # save the attached .config to linux build tree
> > > make ARCH=x86_64
> > >
> > > All errors (new ones prefixed by >>):
> > >
> > > drivers/built-in.o: In function `storvsc_remove':
> > > > > storvsc_drv.c:(.text+0x213af7): undefined reference to
> > > > > `fc_remove_host'
> > > drivers/built-in.o: In function `storvsc_drv_init':
> > > > > storvsc_drv.c:(.init.text+0xcbcc): undefined reference to
> > > > > `fc_attach_transport'
> > > > > storvsc_drv.c:(.init.text+0xcc06): undefined reference to
> > > > > `fc_release_transport'
> > > drivers/built-in.o: In function `storvsc_drv_exit':
> > > > > storvsc_drv.c:(.exit.text+0x123c): undefined reference to
> > > > > `fc_release_transport'
> > >
> > > With this commit, the storvsc driver depends on FC atttributes.
> > > Make
> > > this
> > > dependency explicit.
> > >
> > > Signed-off-by: K. Y. Srinivasan <kys@...rosoft.com>
> > > Reported-by: Fengguang Wu <fengguang.wu@...el.com>
> > > ---
> > > drivers/scsi/Kconfig | 1 +
> > > 1 files changed, 1 insertions(+), 0 deletions(-)
> > >
> > > diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
> > > index 64eed87..24365c3 100644
> > > --- a/drivers/scsi/Kconfig
> > > +++ b/drivers/scsi/Kconfig
> > > @@ -594,6 +594,7 @@ config XEN_SCSI_FRONTEND
> > > config HYPERV_STORAGE
> > > tristate "Microsoft Hyper-V virtual storage driver"
> > > depends on SCSI && HYPERV
> > > + depends on SCSI_FC_ATTRS
> >
> > Well, I suppose continually sending the wrong patch until I get
> > annoyed
> > enough to send the right one is one way of doing it. This patch is
> > wrong. what you want is below.
>
> James, that was not my intent; although it is a tempting strategy!
> Here is an excerpt of your comments on v2 of this patch:
> (dated Jan 29 of this year):
>
> "No ... if you want to depend on the FC_ATTRS then a simple depend
> works. If you want to be able to build without them or with them,
> then
> that line must read
>
> depends on m || SCSI_FC_ATTRS != m"
>
> Since all I wanted was to depend on FC_ATTRS I chose to go with your
> recommendation -
> which also happened to be what I had initially sent (v1 of this
> patch).
If you're going to depend on the FC_ATTRS then you don't need all of
the
#if IS_ENABLED(CONFIG_SCSI_FC_ATTRS)
In the driver, because you're never building without it. I thought
those were put in to satisfy Hannes' request that the driver be
buildable without the attributes?
> > You want HYPERV_STORAGE to be built in if the FC attributes are,
> > otherwise you don't care because if they're N the FC code will be
> > compiled out.
>
> If FC attributes are built in, I have no issue - I want to be able to
> build the storvsc driver both as a module as well as built in.
> However, if storvsc is built as part of the kernel, I want to make
> sure that FC attributes are also built as part of the kernel. The
> build test failure that was reported was this case. With this patch,
> the build issue reported by kbuild cannot happen since if the
> FC_ATTRS are built as a module, storvsc cannot be builtin.
Oh, right, the line should read
depends on m || SCSI_FC_ATTRS != m
for that case.
James
Powered by blists - more mailing lists