CFE-90: document remount, remount_methods and remount_timeout mount attributes - #3731
CFE-90: document remount, remount_methods and remount_timeout mount attributes#3731nickanderson wants to merge 2 commits into
Conversation
|
Thank you for submitting a PR! Maybe @craigcomstock can review this? |
9142cb7 to
f78d23c
Compare
|
@cf-bottom jenkins please |
54b3224 to
bc6783c
Compare
| earlier conflicting one — for example `{ "defaults", "ro" }` is a read-only | ||
| mount and `{ "ro", "rw" }` is read-write. The `defaults` pseudo-option is | ||
| expanded to its checkable parts (`rw`, `suid`, `dev`, `exec`, `async`) and is | ||
| satisfied unless a conflicting negative such as `ro`, `nosuid` or `sync` is |
There was a problem hiding this comment.
This is not very clear what a "conflicting negative" is. Maybe "... and is satisfied unless an additional option given conflicts with the options included in the "defaults" keyword in which case the non-conflicting options plus the conflicting option are all included.
Are we somehow determining the set of options that defaults would bring?
man fstab(5) seems to indicate that the set of defaults varies on the filesystem
defaults
use default options. The default depends on the kernel and the
filesystem. mount(8) does not have any hardcoded set of
default options. The kernel default is usually rw, suid, dev,
exec, auto, nouser, and async.
There was a problem hiding this comment.
Good question, and no, we're not deriving it. It's a hardcoded list.
cf-agent/nfs.c swaps defaults for rw,suid,dev,exec,async in two places: when we compare the promise against the running mount, and when we build the mount -o remount,... command. The second one matters because util-linux ignores the flags a bare defaults implies on a remount, so we have to spell them out to fix a drifted mount in place.
That's the usual kernel set from mount(8) minus auto and nouser. Those two are fstab directives, they never show up in the running mount, so there's nothing to check them against.
You're right that it's not guaranteed across filesystems, and the old wording implied we were figuring it out. Reworded to just say what we do, and dropped "conflicting negative":
CFEngine expands
defaultstorw,suid,dev,execandasync, then checks each of those against the running mount.
I left your suggested phrasing out because the sentence right before it already covers the last-wins conflict rule, so it'd be saying the same thing twice.
…ttributes Document the new opt-in reconciliation of a live mount's options, and clarify that mount_options are only enforced against a running mount when remount is enabled (they otherwise affect just the initial mount and, with edit_fstab, the fstab entry). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…remount Documents the rest of the user-visible changes made alongside the opt-in remount reconciliation: - mount body: a promise for an unmounted filesystem now mounts only that filesystem instead of arming 'mount -a' (CFE-1863) - edit_fstab: the file system table entry is maintained for an already-mounted filesystem, how an existing entry is matched and compared, and the platform default options used when mount_options is unset (CFE-1539) - mount_server: the server is part of mount identity when remount or unmount is enabled, and changing it needs unmount_mount (CFE-2350) - unmount: mount_source and mount_server select which mount to act on, and a different filesystem at the promiser is left alone (CFE-2350) - remount: also governs correcting a mount point holding a different filesystem - remount_timeout: allowed input range Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
bc6783c to
00cbbdb
Compare
|
@cf-bottom jenkins please |
|
Sure, I triggered a build: Jenkins: https://ci.cfengine.com/job/fast-build-and-deploy-docs-master/114/ Documentation: http://buildcache.cfengine.com/packages/build-documentation-pr/jenkins-fast-build-and-deploy-docs-master-114/output/_site/ |
|
@cf-bottom jenkins please |
|
Sure, I triggered a build: Jenkins: https://ci.cfengine.com/job/fast-build-and-deploy-docs-master/115/ Documentation: http://buildcache.cfengine.com/packages/build-documentation-pr/jenkins-fast-build-and-deploy-docs-master-115/output/_site/ |
Documents the storage mount attributes and behavior changes that landed with core PR #6222 for 3.29.0: the new
remount,remount_methodsandremount_timeoutattributes, and themount,edit_fstab,mount_serverandunmountchanges that shipped alongside them.Ticket: https://northerntech.atlassian.net/browse/CFE-90