Из любопытства: если у меня есть устройство LUKS в соответствии с моим пониманием, при чтении блока с блочного устройства этот блок помещается в буферный кеш. Но этот блок зашифрован, поэтому его нельзя сразу использовать. При доступе к блоку он будет расшифрован, поэтому существует вторая версия данных. Эта вторая копия будет иметь больше смысла для кэширования, чем блок диска. Я предполагаю, что ядро Linux будет разумно кэшировать и этот второй блок (поступающий от устройства цикла) - или даже только этот преобразованный блок.
Аналогичная ситуация возникает при сжатии файловых систем, таких как btrfs: чтение блока с диска в основном бесполезно, только после распаковки есть контент, который приложения могут использовать и который имеет смысл кэшировать.
Я пытался найти эту информацию в другом месте (https://kernelnewbies.org, https://www.kernel.org/), но пока не удалось. То, что я обнаружил, в основном касалось более старых версий ядра и файловых систем, которые не имеют этого свойства дисковых блоков, которые должны быть преобразованы, чтобы их можно было использовать. Я был бы благодарен за некоторые указатели.