Bug#554120: aufs2 in Debian
Hello Ben,
Ben Hutchings:
> The code says:
>
> BUILD_BUG_ON(sizeof(ino_t) !=3D sizeof(long));
> return ALIGN(sizeof(struct au_vdir_de) + nlen, sizeof(ino_t));
>
> but on alpha, sizeof(ino_t) =3D=3D 4 but sizeof(long) =3D=3D 8.
>
> Is it really necessary that these types have the same size? I can't see
> why it would be necessary for the directory entries to be long-aligned.
:::
It supposed to align the structure on memory, 8-byte alignment.
On some systems, accesses to incorrectly aligned member has to pay the
penalty which is a short-time delay.
As you wrote, the code is wrong.
I had made CONFIG_AUFS_INO_T_64 to support ino_t on alpha
system. Currently it is used by export.c only.
This problem was born when I switched aufs2 from aufs1.
I will fix it and release on next Monday.
Thank you for reporting.
J. R. Okajima
Reply to: