Subject: Re: randconfig build error with next-20150908, in drivers/md/dm-mpath.c

From: Mike Snitzer <[email-masked]>
Date: Fri, 11 Sep 2015 14:29:03 -0400

On Wed, Sep 09 2015 at 12:04pm -0400,
Christoph Hellwig <[email-masked]> wrote:

> Does this fix the issue for you?  My Kconfig-fu isn't the best,
> but the idea behind this is that dm-mpath will depend on SCSI
> if SCSI_DH is set.  If SCSI_DH is not set it will use the stubs
> and not care about SCSI.
> 
> diff --git a/drivers/md/Kconfig b/drivers/md/Kconfig
> index b597273..e9ea681 100644
> --- a/drivers/md/Kconfig
> +++ b/drivers/md/Kconfig
> @@ -393,7 +393,7 @@ config DM_MULTIPATH
>  	# of SCSI_DH if the latter isn't defined but if
>  	# it is, DM_MULTIPATH must depend on it.  We get a build
>  	# error if SCSI_DH=m and DM_MULTIPATH=y
> -	depends on SCSI_DH || !SCSI_DH
> +	depends on !SCSI_DH || SCSI
>  	---help---
>  	  Allow volume managers to support multipath hardware.
>  

I verified (with next-20150911) that without your patch I saw the
reported problem using the provided randconfig (that had
CONFIG_SCSI_DH=y and CONFIG_DM_MULTIPATH=y):

drivers/built-in.o: In function `activate_path':
/root/snitm/git/linux/drivers/md/dm-mpath.c:1225: undefined reference to `scsi_dh_activate'
drivers/built-in.o: In function `parse_path':
/root/snitm/git/linux/drivers/md/dm-mpath.c:581: undefined reference to `scsi_dh_attached_handler_name'
/root/snitm/git/linux/drivers/md/dm-mpath.c:600: undefined reference to `scsi_dh_attach'
/root/snitm/git/linux/drivers/md/dm-mpath.c:615: undefined reference to `scsi_dh_set_params'
make: *** [vmlinux] Error 1

But with your patch the build completes successfully.

James, please feel free to pull in Christoph's patch and add my:

Tested-by: Mike Snitzer <[email-masked]>