<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Memory on *scratch*</title>
    <link>https://www.scrivano.org/tags/memory/</link>
    <description>Recent content in Memory on *scratch*</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Tue, 11 Aug 2026 14:08:58 +0200</lastBuildDate>
    <atom:link href="https://www.scrivano.org/tags/memory/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Sharing EROFS superblocks across container mounts</title>
      <link>https://www.scrivano.org/posts/2026-08-11-sharing-erofs-superblocks-across-container-mounts/</link>
      <pubDate>Tue, 11 Aug 2026 10:00:00 +0200</pubDate>
      <guid>https://www.scrivano.org/posts/2026-08-11-sharing-erofs-superblocks-across-container-mounts/</guid>
      <description>&lt;p&gt;For a while now we&amp;rsquo;ve had composefs support in the container-libs.  For&#xA;each OCI layer in an image, we build a read-only EROFS blob that can&#xA;be verified with fs-verity and that the kernel mounts directly.&#xA;It works well if you look at a single container, but the moment you&#xA;start thinking about composefs as the storage for a real container&#xA;host where many containers are running, we have a problem.  Many of&#xA;them share the same image layers but with composefs every one of those&#xA;containers mounts the same EROFS blobs, and each mount is a separate&#xA;world as far as the kernel is concerned.  The bytes on disk are&#xA;shared, but the memory used to cache them is not.  That is one of the&#xA;reasons composefs is not yet the default way to store and run&#xA;containers, and it is what I want to talk about here.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
