Re: [PATCH v4 00/30] Live Update Orchestrator
From: Jason Gunthorpe <jgg@nvidia.com>
Date: 2025-10-08 19:36:02
Also in:
linux-doc, linux-fsdevel, linux-mm, lkml
From: Jason Gunthorpe <jgg@nvidia.com>
Date: 2025-10-08 19:36:02
Also in:
linux-doc, linux-fsdevel, linux-mm, lkml
On Wed, Oct 08, 2025 at 12:40:34PM -0400, Pasha Tatashin wrote:
1. Ordered Un-preservation The un-preservation of file descriptors must also be ordered and must occur in the reverse order of preservation. For example, if a user preserves a memfd first and then an iommufd that depends on it, the iommufd must be un-preserved before the memfd when the session is closed or the FDs are explicitly un-preserved.
Why? I imagined the first to unpreserve would restore the struct file * - that would satisfy the order. The ioctl version that is to get back a FD would recover the struct file and fd_install it. Meaning preserve side is retaining a database of labels to restored struct file *'s. As discussed unpreserve a FD does not imply unfreeze, which is the opposite of how preserver works.
2. New API to Check Preservation Status A new LUO API will be needed to check if a struct file is already preserved within a session. This is needed for dependency validation. The proposed function would look like this:
This doesn't seem right, the API should be more like 'luo get serialization handle for this file *' If it hasn't been preserved then there won't be a handle, otherwise it should return something to allow the unpreserving side to recover this struct file *. That's the general use case at least, there may be some narrower use cases where the preserver throws away the handle. Jason