make misbehavior on ext2 in dax mode (was: a crash when running strace from persistent memory)

From: Mikulas Patocka
Date: Fri Sep 04 2020 - 12:21:50 EST




On Thu, 3 Sep 2020, Mikulas Patocka wrote:

> Hi
>
> There's a bug when you run strace from dax-based filesystem.

Hmm, so I've found another bug in dax mode.

If you extract the Linux kernel tree on dax-based ext2 filesystem (use the
real ext2 driver, not ext4), and then you run make twice, the second
invocation will rebuild everything. It seems like a problem with
timestamps.

mount -t ext2 -o dax /dev/pmem0 /mnt/ext2/
cd /mnt/ext2/usr/src/git/linux-2.6
make clean
make -j12
make -j12 <--- this rebuilds the whole tree, althought it shouldn't

I wasn't able to bisect it because this bug seems to be present in every
kernel I tried (back to 4.16.0). Ext4 doesn't seem to have this bug.

Mikulas