Subject: Re: linux-next: manual merge of the char-misc tree with the driver-core tree

From: Greg KH <[email-masked]>
Date: Fri, 12 Jul 2019 09:45:25 +0200

On Tue, Jul 09, 2019 at 09:20:03AM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> On Thu, 13 Jun 2019 15:53:44 +1000 Stephen Rothwell <[email-masked]> wrote:
> >
> > Today's linux-next merge of the char-misc tree got a conflict in:
> > 
> >   drivers/misc/vmw_balloon.c
> > 
> > between commit:
> > 
> >   225afca60b8a ("vmw_balloon: no need to check return value of debugfs_create functions")
> > 
> > from the driver-core tree and commits:
> > 
> >   83a8afa72e9c ("vmw_balloon: Compaction support")
> >   5d1a86ecf328 ("vmw_balloon: Add memory shrinker")
> > 
> > from the char-misc tree.
> > 
> > I fixed it up (see below) and can carry the fix as necessary. This
> > is now fixed as far as linux-next is concerned, but any non trivial
> > conflicts should be mentioned to your upstream maintainer when your tree
> > is submitted for merging.  You may also want to consider cooperating
> > with the maintainer of the conflicting tree to minimise any particularly
> > complex conflicts.
> > 
> > -- 
> > Cheers,
> > Stephen Rothwell
> > 
> > diff --cc drivers/misc/vmw_balloon.c
> > index fdf5ad757226,043eed845246..000000000000
> > --- a/drivers/misc/vmw_balloon.c
> > +++ b/drivers/misc/vmw_balloon.c
> > @@@ -1553,15 -1942,26 +1932,24 @@@ static int __init vmballoon_init(void
> >   	if (x86_hyper_type != X86_HYPER_VMWARE)
> >   		return -ENODEV;
> >   
> > - 	for (page_size = VMW_BALLOON_4K_PAGE;
> > - 	     page_size <= VMW_BALLOON_LAST_SIZE; page_size++)
> > - 		INIT_LIST_HEAD(&balloon.page_sizes[page_size].pages);
> > - 
> > - 
> >   	INIT_DELAYED_WORK(&balloon.dwork, vmballoon_work);
> >   
> > + 	error = vmballoon_register_shrinker(&balloon);
> > + 	if (error)
> > + 		goto fail;
> > + 
> >  -	error = vmballoon_debugfs_init(&balloon);
> >  -	if (error)
> >  -		goto fail;
> >  +	vmballoon_debugfs_init(&balloon);
> >   
> > + 	/*
> > + 	 * Initialization of compaction must be done after the call to
> > + 	 * balloon_devinfo_init() .
> > + 	 */
> > + 	balloon_devinfo_init(&balloon.b_dev_info);
> > + 	error = vmballoon_compaction_init(&balloon);
> > + 	if (error)
> > + 		goto fail;
> > + 
> > + 	INIT_LIST_HEAD(&balloon.huge_pages);
> >   	spin_lock_init(&balloon.comm_lock);
> >   	init_rwsem(&balloon.conf_sem);
> >   	balloon.vmci_doorbell = VMCI_INVALID_HANDLE;
> 
> I am still getting this conflict (the commit ids may have changed).
> Just a reminder in case you think Linus may need to know.

Ok, I sent off the pull request for the driver core tree now.  I had all
of my other trees merged "first" so that all of the conflicts would
happen just once here.  Hopefully I've pointed out all of the potential
and real problems with this merge.

Ugh, this was a messy one, sorry about all of this, full-tree api
changes and cleanups are a pain at times.

thanks,

greg k-h