all: update ChangeLog, future plans

This commit is contained in:
Thomas Schoebel-Theuer 2022-05-20 07:22:22 +02:00
parent 9b9b3e9a94
commit 1faac731b1
1 changed files with 57 additions and 26 deletions

View File

@ -6,18 +6,17 @@ Example: mars0.1stable01:
(only incremented when downgrades are impossible) (only incremented when downgrades are impossible)
(not incremented on backwards-compatible upgrades) (not incremented on backwards-compatible upgrades)
1 = version of feature set 1 = version of feature set
stable = feature set is frozen during this series stable = feature set is never reduced during this series
01 = bugfix revision 01 = bugfix revision
Example: mars0.2beta2.3: Example: mars0.2beta2.3:
The general idea is as before. The general idea is as before.
"beta" means that new features are roughly tested "beta" means that new features are roughly tested
in the lab, but not in production, so there may be in the lab, but not in production, so there may be
some bugs. New features may be added during some bugs.
the beta phase.
Example: mars0.3alpha*: Example: mars0.3alpha*:
Never use this for production. Only for historic Never use this for production. Only for (historic)
code inspection. code inspection.
Release Conventions / Branches / Tagnames Release Conventions / Branches / Tagnames
@ -37,16 +36,43 @@ Release Conventions / Branches / Tagnames
- Stable tagnames: mars0.1astable%02d - Stable tagnames: mars0.1astable%02d
- Historic tagnames: light0.1abeta%d (obsolete) - Historic tagnames: light0.1abeta%d (obsolete)
mars1.0 series (planned): mars0.5 series (planned interim series):
- Replace symlink tree by transactional status files - The stable Linux kernel upstram series linux-5.10.y
and later will require new interfaces between MARS
and the kernel. For example, fs/aio.c is no
longer usable by kernelspace activities.
- I plan to take this opportunity for getting rid
of ~10 years old backward-compatibility parts,
interfacing with ancient kernels, e.g. from linux-2.*
to linux-3.x.y
- the branches mars0.1.y and mars.1a.y will become
unmaintained. Just use the standard branch "master"
as usual, since it will become the new alias for
the new mars0.5.y series.
- Newer MARS improvements like the newer .deleted format
are planned to become standard, and a few tons of
ancient code are planned to vanish over time.
Do not expect backwards compatibility over years of
development efforts. I won't test big jumps anymore.
- Consequence: you need a Linux kernel series
from linux-4.9.y onwards. The corresponding
historic MARS pre-patches will be removed from the
MARS git repo, starting with this branch.
The then-historic mars branches may be renamed to
*-historic in order to inform you.
mars1.0 series (planned future series):
- Replace the symlink tree by transactional status files
(future-proof) (future-proof)
This is required for upstream merging to the kernel. This is required for upstream merging to the kernel.
It has further advantages, such as better scalability. It has further advantages, such as better scalability.
- Some migration strategy for the data format in /mars
will be certainly done, but details are not yet planned.
- Trying to additionally address public needs. - Trying to additionally address public needs.
- Potentially for Linux kernel upstream, - Intended for Linux kernel upstream submission.
- Unstable tagnames: mars1.0beta%d.%d (planned) - See the FAQ: the out-of-tree MARS version in kernel/
- Stable branch: mars1.0.y (planned) shall become unmaintained after acceptance by
- Stable tagnames: mars1.0stable%02d (planned) Linus Torvalds and the kernel community.
WIP-* branches are for development and may be rebased onto anything WIP-* branches are for development and may be rebased onto anything
at any time without notice. They will disappear eventually. at any time without notice. They will disappear eventually.
@ -58,13 +84,15 @@ Release Conventions / Branches / Tagnames
including network outages and HumanError(tm) at 1&1 Ionos including network outages and HumanError(tm) at 1&1 Ionos
ShaHoLin. Thus the _component_ SLA of MARS must be much better. ShaHoLin. Thus the _component_ SLA of MARS must be much better.
- New features may be introduced, but are off by default. - New features may be introduced, but are initially off by default.
They may become default after some operational experiences.
- There is always an upgrade path. Simply install the new - There is always an upgrade path. Simply install the new
version, obeying the below compatibility rules. version, obeying the below compatibility rules.
- Rolling upgrades (temporarily different MARS kernel module - Rolling upgrades (temporarily different MARS kernel module
versions at primary vs secondary side) are supported. versions at primary vs secondary side) are supported, as
far as reasonable.
Typically, do "rmmod mars; modprobe mars" at the secondary Typically, do "rmmod mars; modprobe mars" at the secondary
side first, then handover, then do the same at the former side first, then handover, then do the same at the former
primary side. primary side.
@ -116,7 +144,7 @@ Release Conventions / Branches / Tagnames
the kernel modules are installed. the kernel modules are installed.
- Please check this ChangeLog for any upgrade / downgrade - Please check this ChangeLog for any upgrade / downgrade
incompatibility bugs. In case they are detected, they will incompatibility problems. When bugs are detected, they will
be fixed. But I cannot retrospectivly change already released be fixed. But I cannot retrospectivly change already released
versions and their bugs. Fixes are only possible in newer versions and their bugs. Fixes are only possible in newer
versions. versions.
@ -132,24 +160,27 @@ Release Conventions / Branches / Tagnames
or may require some extaordinary actions. or may require some extaordinary actions.
Please read this ChangeLog for details. Please read this ChangeLog for details.
Example: a new future-proof internal deletion format has been Historic example: a new future-proof internal deletion format
introduced in mars0.1astable88. It is off by default. had been introduced in mars0.1astable88. It was off by default.
If you never activate it, you can downgrade inside of mars0.1astable* But it will become default somewhen (e.g. during newer branches).
as you like. Only if you never had activated it, and if you had obeyed the
Only if you actually activate it, and if you really need to downgrade instructions as documented here, you might have
downgrade beyond that old version, you have to obey the downgraded. I had invested a lot of time in testing, but
downgrade instructions documented below. I don't know of anyone who actually did this in operations.
However, don't rely on this. Somewhen after many releases, and after
its stability has been proven at 1&1 Inonos ShaHoLin over a long time,
the new feature may be auto-activated, so that downgrade should remain
possible, but may then require some manual actions.
----------------------------------- -----------------------------------
Changelog for series 0.1a: Changelog for series 0.1a:
This is the new master branch, starting January 2019. This is the new master branch, starting January 2019.
The old stable branch mars 0.1.y is EOL, The _historic_ stable branch mars0.1.y is EOL since a
now fully superseeded by this branch. long time, and had been forced to the current master.
INFO: upstream stable kernels v5.10.x and later will require
some new MARS-internal bricks and libraries, currently under
preparation.
Please stay patient; some old MARS bugs have been already found and
fixed during the preparation phase. I am releasing them
for the currently supported stable upstream kernels.
mars0.1astable143 mars0.1astable143
* Minor marsadm improvements. * Minor marsadm improvements.