Bug#993602: /etc/runit/nosync should not have been moved to /run
On Sat, Sep 04, 2021 at 05:38:50PM +0200, lorenzo wrote: > > Not wanting to invoke sync() on shutdown is a permanent property of a > > system, not an ephemeral one. Thus, the flag file for this behaviour > > should be in a permanent location (like /etc/runit, where it > > originally was), not under /run, where it would need to be created on > > every boot. > > The only issue with reverting to /etc is that as long as /etc is mounted > readonly it will not be possible to write this file: but as the use > case is a container I guess the file will be written during the > container setup, before runtime, right? Exactly. This isn't something you need to change at runtime, ever. A case could even be made for runit to automatically skip sync in containers, but considering runit's minimalist design, that'd be creeping featurism. Best regards, András -- Ha a vasutallomas az, ahol a vasut megall, akkor a munkaallomas...
Bug#993602: /etc/runit/nosync should not have been moved to /run
On Fri, 3 Sep 2021 16:44:09 +0200 Andras Korn wrote: > Package: runit > Version: 2.1.2-42 > Severity: normal > > Hi, Hi, > > I'm the guy who originally submitted the patch to support a 'nosync' > flag file to avoid syncing on shutdown. > > I noted with some amazement in the changelog for version 2.1.2-42 > that this file had been moved to /run sometime in the past, with no > mention in the changelog. I think it happened by mistake when runit source was converted into the debhelper format, see https://salsa.debian.org/runit-team/runit/-/commit/c0066204fa930f3e57eb32a4cc28beed349658b2 https://salsa.debian.org/runit-team/runit/-/commit/c966a77f0414d4eadbed2cf36de726399f01106c (and etc was already worded as 'erc' by some other mistake happened previously but i stop digging at commit c0066204 ) > > I think this change should be reverted. I Agree, will do that in the next upload. > > The use case of the nosync flag file is when running runit in a > container like LXC or linux-vserver. When you stop one of these (or > hundreds of these simultaneously), you don't want them to sync() > because the host itself isn't stopping, so there is neither a need > nor a benefit to invoking sync(). > > Not wanting to invoke sync() on shutdown is a permanent property of a > system, not an ephemeral one. Thus, the flag file for this behaviour > should be in a permanent location (like /etc/runit, where it > originally was), not under /run, where it would need to be created on > every boot. The only issue with reverting to /etc is that as long as /etc is mounted readonly it will not be possible to write this file: but as the use case is a container I guess the file will be written during the container setup, before runtime, right? > > Best regards, > > András Best Regards, Lorenzo > > -- System Information: > Debian Release: 11.0 > APT prefers unstable > APT policy: (350, 'unstable'), (350, 'stable'), (1, 'experimental') > Architecture: amd64 (x86_64) > Foreign Architectures: i386 > > Kernel: Linux 5.10.0-8-amd64 (SMP w/8 CPU threads) > Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, > TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.UTF-8, > LC_CTYPE=hu_HU.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 Shell: > /bin/sh linked to /bin/bash Init: runit (via /run/runit.stopit) > LSM: AppArmor: enabled >
Bug#993602: /etc/runit/nosync should not have been moved to /run
Package: runit Version: 2.1.2-42 Severity: normal Hi, I'm the guy who originally submitted the patch to support a 'nosync' flag file to avoid syncing on shutdown. I noted with some amazement in the changelog for version 2.1.2-42 that this file had been moved to /run sometime in the past, with no mention in the changelog. I think this change should be reverted. The use case of the nosync flag file is when running runit in a container like LXC or linux-vserver. When you stop one of these (or hundreds of these simultaneously), you don't want them to sync() because the host itself isn't stopping, so there is neither a need nor a benefit to invoking sync(). Not wanting to invoke sync() on shutdown is a permanent property of a system, not an ephemeral one. Thus, the flag file for this behaviour should be in a permanent location (like /etc/runit, where it originally was), not under /run, where it would need to be created on every boot. Best regards, András -- System Information: Debian Release: 11.0 APT prefers unstable APT policy: (350, 'unstable'), (350, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.10.0-8-amd64 (SMP w/8 CPU threads) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=hu_HU.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 Shell: /bin/sh linked to /bin/bash Init: runit (via /run/runit.stopit) LSM: AppArmor: enabled -- A computer's attention span is as long as it's power cord.