tavianator/bfs

Unmount between bfs_mtab_parse() and bfs_fstype() causes wrong results

tavianator opened this issue · 2 comments

See https://github.com/tavianator/bfs/actions/runs/3643266897/jobs/6151312752

Only seemed to happen on a full distcheck, during the release sub-build.

Found it! It's a race against the gnu/inum_automount test (and probably posix/xdev and common/mount). in tests/gnu/fstype, bfs can read the mount table and see the scratch/automnt entry of type autofs. But by the time it does stat() to figure out the device ID, it might already be unmounted, and therefore see the device ID of the parent. Then bfs thinks the fstype of / is autofs.

Not sure what the best fix is.