> > > Although we can add as many as possible _require_* checks to a test case, but > > > more _require_* take more time to run. So I think we'd better to add "missed" > > > _require_* for specific test failure on someone fs, not only "I reviewed the > > > code, so I feel all of these are needed" > > > > Do you mean we should check these requirements only for some specific fs? > > Like this. > > > > if [ "${FSTYP}" == "exfat" ]; then > > _require_hardlinks > > _require_symlinks > > _require_chown > > _require_chmod > > _require_mknod > > fi > > No, of course not :) > > I mean if one case *can* have 100 _require_ conditions in theory, we don't need to > write all 100 _require_ conditions. The optional _require_ condition is different on different file systems. For exfat, this test fails with the following error, adding _require_chown is enough, the others are optional. +vfstest.c: 110: hardlink_crossing_mounts - Operation not permitted - failure: chown_r +vfstest.c: 2418: run_test - Operation not permitted - failure: cross mount hardlink I will update this patch to only add _require_chown. If someone in the future finds that one filesystem supports chown but not others, he can create a new patch for it.