zfs
zfs copied to clipboard
Relatime: set on by default
Motivation and Context
Linux sets relatime on mount by default for any file system https://github.com/torvalds/linux/commit/0a1c01c9477602ee8b44548a9405b2c1d587b5a2 , but relatime=off in ZFS disables it explicitly (because best-practice is to mount datasets via ZFS itself).
Let's be on par with other file systems on Linux (and it's our largest target OS too).
Looks like it won't hurt FreeBSD, but it would be great to validate me here.
Additional motivation - we already have some changed defaults for next release (compression, volblocksize), so it would be great to have one more property be optimal by default too.
How Has This Been Tested?
On linux, manual pool creation, recheck atime of file after read.
Types of changes
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [X] Performance enhancement (non-breaking change which improves efficiency)
- [ ] Code cleanup (non-breaking change which makes code smaller or more readable)
- [X] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
- [X] Documentation (a change to man pages or other documentation)
Checklist:
- [X] My code follows the OpenZFS code style requirements.
- [X] I have updated the documentation accordingly.
- [X] I have read the contributing document.
- [ ] I have added tests to cover my changes.
- [X] I have run the ZFS Test Suite with this change applied.
- [X] All commit messages are properly formatted and contain
Signed-off-by.
FreeBSD build failure looks unrelated at first glance
/var/lib/buildbot/slaves/zfs/FreeBSD_stable_13_amd64__TEST_/build/zfs/module/os/freebsd/zfs/zfs_acl.c:1681:12: error: assigning to 'char *' from 'const char *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
domain =
```
I think I saw a commit to fix that go in recently.
@freqlabs thank you, looks like it's the latest one in master, rebased.
Besides, at least functional tests are pretty flaky with this change, I'll look at fresh run and try to reproduce them.
The cache/cache_012_pos failure looks like it was somehow introduced by this change. The other failures we've seen before.
@behlendorf done, looks like zloop fails on same problem as is on master
dsl_dataset_feature_is_active(ds, f) == B_TRUE (0x0 == 0x1)
ASSERT at module/zfs/dsl_scan.c:2024:dsl_scan_visitbp()/lib/x86_64-linux-gnu/libasan.so.5(+0x6cd40)[0x7fd6abc42d40]
same here https://github.com/openzfs/zfs/actions/runs/2831422281 , so looks not related, but strangely stable to reproduce.
Looks good. Unfortunately, it looks like a couple small bugs have been introduced in other changes which ztest is now hitting quite often. That needs to be investigated, but you're right it's entirely unrelated to this change.