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
> 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
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
- 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.