Planet Ceph

Aggregated news from external sources

April 18, 2008

POSIX file system test suite

A few weeks back a POSIX file system test suite was announced on linux-fsdevel. Some 1700 tests of return values, error codes, and side effects for things like unlink, chmod, and so forth. The suite turned up a number of minor bugs in the MDS and client (mostly relating to things like legal file modes), and what appears to be a VFS bug with rename (affecting only a few filesystems, Ceph included). The Ceph kernel client now passes all but a handful of tests. Yay!

Which ones doesn’t it pass, you ask? They’re all like this:

expect 0 create ${n0} 0644
ctime1=`${fstest} stat ${n0} ctime`
sleep 1
expect 0 -- chown ${n0} -1 -1
ctime2=`${fstest} stat ${n0} ctime`
case "${os}:${fs}" in
Linux:ext3)
        test_check $ctime1 -lt $ctime2
        ;;
*)
        test_check $ctime1 -eq $ctime2
        ;;
esac

Sorry, chown(file, -1, -1) shouldn’t update ctime, even if ext3 disagrees.

Careers