Reasoning about POSIX file systems