From 907c073738636b44919dc8d3c79a6cbf38114e64 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 20 Nov 2015 05:41:03 +0000 Subject: cmogstored 1.5.0 - vfork, systemd, 416 codes A bunch of minor changes; most notable is systemd-style socket activation support. This was easy-to-add since we've always had socket activation support for nginx-style SIGUSR2 upgrades. This places no link or runtime dependency on libsystemd, so the LISTEN_FDS and LISTEN_PID environment variables may be used in other init systems as well. While I have my own reservations about systemd itself, I also strongly believe in using socket activation to prevent downtime. Existing behavior with CMOGSTORED_FD (used for SIGUSR2 upgrades) is now documented in the manpage and will always supported. We've also added vfork support for Linux systems, allowing faster spawning of iostat if malloc is using too much memory. Behavior changes: Bad Range: headers return 416 responses in more cases for invalid ranges (e.g. miscalculated ranges such as "1--1", while completely wrong ones (lacking a "bytes=" prefix) are ignored entirely as in nginx. Bugfixes: There are also some cleanups to avoid dying on OOM in more places on weird systems which trigger OOM. More work on this is ongoing. Also updates to the latest gnulib.git commit 71d39c1644762745b94e9449c45bfd716a79a5eb ("autoupdate") along with a change which fixes a memory leak when people build from cmogstored.git using gnulib commit c6148bca89e9465fd6ba3a10d273ec4cb58c2dbe or later ("mountlist: add me_mntroot field on Linux machines"). This memory leak did not affect any released tarballs of cmogstored. Note, users building from git (as opposed to the tarball) will need gnulib commit 41d1b6c42641a5b9e21486ca2074198ee7909bd7 ("mountlist: add support for deallocating returned list entries") or later (from July 2013). There are also various documentation updates and our mailing list is now readable over NNTP: nntp://news.public-inbox.org/inbox.comp.file-systems.mogilefs.cmogstored --- README | 5 +---- examples/cmogstored.socket | 1 + examples/cmogstored@.service | 1 + 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/README b/README index 02855c1..7ef6dd0 100644 --- a/README +++ b/README @@ -75,10 +75,7 @@ Source tarballs suitable for distribution are housed here: * http://bogomips.org/cmogstored/files/ The latest stable release is: - http://bogomips.org/cmogstored/files/cmogstored-1.4.3.tar.gz - -The latest release candidate is: - http://bogomips.org/cmogstored/files/pre/cmogstored-1.5.0rc1.tar.gz + http://bogomips.org/cmogstored/files/cmogstored-1.5.0.tar.gz See http://bogomips.org/cmogstored/NEWS for release notes diff --git a/examples/cmogstored.socket b/examples/cmogstored.socket index 852fd3a..a21e19d 100644 --- a/examples/cmogstored.socket +++ b/examples/cmogstored.socket @@ -1,4 +1,5 @@ # ==> /etc/systemd/system/cmogstored.socket <== +# systemd-style socket activation requires cmogstored 1.5.0 and later [Unit] Description = cmogstored sockets diff --git a/examples/cmogstored@.service b/examples/cmogstored@.service index 2361a98..5af3aea 100644 --- a/examples/cmogstored@.service +++ b/examples/cmogstored@.service @@ -1,4 +1,5 @@ # ==> /etc/systemd/system/cmogstored@.service <== +# systemd-style socket activation requires cmogstored 1.5.0 and later # Since SIGUSR2 upgrades do not work under systemd, this service file # allows starting two simultaneous services during upgrade time # (e.g. cmogstored@1 cmogstored@2) with the intention that they take -- cgit v1.2.3-24-ge0c7