[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Lost in debian backport patch workflow



Hello, dear debian-Pros,

can somebody point me to information how to figure out, understand and 
partially revert the patching process that finally leads to my currently 
running kernel:

# uname -a
Linux cruncher 3.16.0-0.bpo.4-amd64 #1 SMP Debian 3.16.7-ckt4-3~bpo70+1 
(2015-02-12) x86_64 GNU/Linux

in order to apply a recent patch for a single kernel module (aufs)

ist it 
- 3.16.0
- 3.16.7
- or maybe containing some patches from later kernel versions?


Im trying to setup a cluster with some diskless clients, using 
aufs-layered nfsroot , 
exporting those by nfs.

I ended up with this kernel (which is current wheezy stable backport) by 
solving trobule with dracut, idmapd nd dhcp-client, see
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=778580

Now I have still some issues related to aufs layered file system , which is a 
kernel module. 
Following the kind support of aufs author J. R. Okajima, I'd try to switch to 
recent aufs version.

I tried to reverse aufs patches from the kernel tree as applied from the 
version 3.16.0 and reapply patches from  aufs 3.16...current.
Building aufs module fails.

From private conversation with the aufs author:

> Note that
> - there are three versions related to your case.
>   + plain linux-3.16.0
>   + plain linux-3.16.7
>   + debianized 3.16.7-ckt4-3~bpo70+1
>   they are all different from each other.
> - all aufs releases are for vanilla kernels. i.e. linux-3.16.0 instead
>   of 3.16.7. in many cases, aufs3.xx is appliable for linux-3.xx.yy. but
>   sometimes the function signature is changed in yy versions. in this
>   case, I will release aufs3.xx.yy.
> - although I don't look close, aufs3.16 seems to be appliable to
>   3.16.7. actually I succeeded it on debian 3.16.7-ckt2-1.
> So the changes made between debian 3.16.7-ckt2-1 and ckt4-3~bpo70+1 is
> the cause your compiler error.
> The error
>
> > include/linux/kernel.h:834:27: error: =E2=80=98struct dentry=E2=80=99 has
> > n= o member=20
> > named =E2=80=98d_alias=E2=80=99
>
> is caused by the change in mainline v3.19.
> 	679829c 2014-12-16 move d_rcu from overlapping d_child to overlapping
> d_alias
>
> And the commit is backported to v3.18.1 in linux-stable.
> I guess debian people has backported the commit into their
> ckt4-3~bpo70+1 (or ckt3) too.
(....)
> The ideal solution will be
> - check what was changed by debian, ie. diff v3.16.7 3.16.7-ckt4-3
>   (usually it is a simple backport)
> - how can aufs follow it (usually it will be a simple backport too)
> - and test.
(....)
> J. R. Okajima

So, my problem boils down to this line:
> - check what was changed by debian, ie. diff v3.16.7 3.16.7-ckt4-3

How can I reconstruct these different kernel trees?

Any help is greatly appreciated :-)


Wolfgang Rosner


Reply to: