Stratis 2.2.0 now places Stratis filesystem symlinks in /dev/stratis, rather than /stratis. Stratis creates and maintains the symlinks by means of udev rules, rather than directly via stratisd as previously. The /stratis directory is neither created nor used by stratisd 2.2.0.
- Email: firstname.lastname@example.org, email@example.com, firstname.lastname@example.org
- Targeted release: Fedora 34
- Last updated: 2021-01-06
- FESCo issue: #2503
- Tracker bug: #1899999
- Release notes tracker: #606
This release creates and maintains Stratis filesystem symlinks in
/dev/stratis by means of udev rules. It includes a small Rust script,
stratis_uuids_to_names which is invoked by the Stratis udev rule which sets the Stratis filesystem symlinks.
In the case where stratisd is updated in place, some filesystem symlinks may remain in
/stratis. This release includes a shell script,
stratis_migrate_symlinks.sh which may be used to clean up the
/stratis directory and ensure that the correct symlinks exist in
/dev/stratis. The script removes the
/stratis directory once it has completed without error. The shell script relies on a small Rust script,
stratis_dbusquery_version which is included with this version of stratisd.
This release also extends the D-Bus interface in a few ways:
org.freedesktop.DBus.ObjectManager.InterfacesRemoved signals on the D-Bus whenever a D-Bus object is added to or removed from the D-Bus interface.
It adds a new D-Bus property,
PhysicalPath, for the
org.storage.stratis2.blockdev.r2 interface. This property is principally useful for encrypted Stratis block devices; it identifies the block device on which the Stratis LUKS2 metadata resides.
It adds a new key,
LockedPools, to the
org.storage.stratis2.FetchProperties.r2 interface for objects that implement the
org.storage.stratis2.Manager interface. This key returns a D-Bus object that maps the UUIDs of locked pools to their corresponding key descriptions.
Please consult the D-Bus API Reference for the precise D-Bus specification.
This release allows the user to specify their preferred log level more directly and succinctly with the
--log-level CLI option.
This release includes management of terminal settings for interactive encryption-key entry.
This release includes some unsupported scripts which may be built from the source distribution but are not intended to be released as part of any package. These scripts depend on the extras feature in Cargo.toml.
This release also includes a number of minor bug fixes.
This release requires stratisd 2.2.0. Some commands have been updated to make use of the new stratisd D-Bus interfaces.
This release drops management of terminal settings for interactive encryption-key entry; management of terminal settings is now handled in stratisd 2.2.0.
- Add information in the Change Request about the possibility of the OS not booting after the Stratis path change is implemented
Benefits to Fedora
Users of Fedora will now benefit from Stratis 2.2.0 by:
- Devices being located in an existing and known top level directory.
- Applications that are restricted from using non-default top level directories can now use Stratis symlinks
- Better integration with udev
- Proposal owners:
- Update existing stratis-cli package to specify new release
- Update existing stratisd package to specify new release
- Other developers: N/A
- Release engineering: Self Contained
- Policies guidelines: N/A
- Trademark approval: N/A
Stratis symlinks have moved. Existing symlinks in
/stratis/<pool name>/<filesystem name> will need to be migrated to
/dev/stratis/<pool name>/<filesystem name>. This is accomplished by running the migration script (
stratis_migrate_symlinks.sh) that comes with the
2.2.0 release of Stratis or rebooting the system. Any configurations that make use of the old symlink locations will
need to be updated to use the new location. So, if there has been manual changes to systemd unit files or
for automatically mounting Stratis filesystems, then these will need to be updated to reflect the change. Not updating the configuration or temporarily disabling the mounts may cause the OS to not complete its
boot process the next time the system is started.
How To Test
- Testing new filesystem paths can be done using the CLI provided by stratis-cli package or D-Bus API provided by stratisd package.
- Create a pool and filesystem using stratis command
stratis pool create p1 /dev/sdb stratis fs create p1 fs1
- Check that the new path is in /dev/stratis/<pool name>/<filesystem name>
ls /dev/stratis/<pool name> stratis fs list
Users with existing Stratis filesystems will notice a change in the filesystem path from
/stratis/<pool name>/<filesystem name> to
/dev/stratis/<pool name>/<filesystem name>. Appropriate action will need to be taken to update system configurations that
make use of the older filesystem paths.
We are not aware of any new dependencies
- Contingency mechanism:
- Contingency deadline: N/A
- Blocks release? No
- Blocks product? No
Includes recent version of Stratis