Skip to content

Use a lock-less and read-only LMDB address table

Laurent Petre requested to merge feature/ro-filsystem into main

Description

This MR proposes to access the LMDB address table for lookups in a lock-less and read-only fashion. The idea stems from cmsgemonline/gem-ops/gem-daq-doc#2 which requires mounting the /mnt/persistent CTP7 partition in read-only mode for safe operations. Even with the absence of a lock, the read-only nature of the LMDB lookups allows for concurrent safe accesses. Care has been taken to also ensure safe address table updates.

Related Issue

Required to implement cmsgemonline/gem-ops/gem-daq-doc#2

How Has This Been Tested?

The address table can be created and used seamlessly in the CVP13 build. Pending tests in production on the CTP7.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Merge request reports