Hello,
I am using the linux vserver patch in combination with the aufs overlay
filesystem which did its job pretty nice the last years.
I tried to update to 3.4.83 yesterday and ran into a compilation error -
it is inside the aufs code but the maintainer told me that the reason is
a wrong typecast inside the vserver patch.
As I am not that kernel guru, I hope somebody here can help me out. Here
is the replied post from the aufs mailing list. The source of the aufs
code is available at https://github.com/sfjro/aufs3-linux/tree/aufs3.4,
my patched source is available at
https://github.com/oliwel/aufs3-linux/tree/vserver
--snipp--
Oliver Welter:
> fs/aufs/cpup.c: In function 'au_cpup_attr_flags':
> fs/aufs/cpup.c:32:2: error: size of unnamed array is negative
:::
> The source is made of:
> * latest HEAD of aufs3.4 branch (c1ecf4f)
> * merged with kernel archive linux-3.4.y (0c4f5371)
> * vserver patch from
> http://www.linux-vserver.org/Welcome_to_Linux-VServer.org
> (http://vserver.13thfloor.at/Experimental/patch-3.4.83-vs2.3.3.9.diff)
The vserver patch converts "unsigned int i_flags" to unsigned short, and
the line BUILD_BUG_ON(sizeof(iflags) != sizeof(dst->i_flags)) (which
carefully check the consistency between linux kernel and aufs source
files) detects it expectedly.
In order to support vserver, I am afraid you need to solve these
issues.
- convert a variable in aufs which corresponds to "unsigned int i_flags"
into unsigned short.
- support the newly added flag vlaues, S_IXUNLINK, etc.
- support the newly added variable, i_vflags, i_mdev, etc.
- there may exist more issues.
--snapp--
best regards
Oliver