On Mon, May 18 2026, Vipin Sharma wrote:

> On Mon, May 18, 2026 at 11:29:49AM +0000, [email protected] wrote:
>> Vipin Sharma <[email protected]> writes:
>> 
>> > Add helper functions to preserve and retrieve file descriptors from an
>> > LUO session. This allows library users to work with FD preservation.
>> >
>> > No functional change intended.
>> >
>> > Signed-off-by: Vipin Sharma <[email protected]>
>> > Co-developed-by: David Matlack <[email protected]>
>> > Signed-off-by: David Matlack <[email protected]>
>> > Signed-off-by: Vipin Sharma <[email protected]>
>> > ---
>> >  .../liveupdate/lib/include/libliveupdate.h    |  3 ++
>> >  .../selftests/liveupdate/lib/liveupdate.c     | 41 +++++++++++++++----
>> >  2 files changed, 35 insertions(+), 9 deletions(-)
>> >
>> > diff --git 
>> > a/tools/testing/selftests/liveupdate/lib/include/libliveupdate.h 
>> > b/tools/testing/selftests/liveupdate/lib/include/libliveupdate.h
>> > index 4390a2737930..2b04b3256382 100644
>> > --- a/tools/testing/selftests/liveupdate/lib/include/libliveupdate.h
>> > +++ b/tools/testing/selftests/liveupdate/lib/include/libliveupdate.h
>> > @@ -26,6 +26,9 @@ int luo_create_session(int luo_fd, const char *name);
>> >  int luo_retrieve_session(int luo_fd, const char *name);
>> >  int luo_session_finish(int session_fd);
>> >  
>> > +int luo_session_preserve_fd(int session_fd, int fd, __u64 token);
>> > +int luo_session_retrieve_fd(int session_fd, __u64 token);
>> > +
>> >  int create_and_preserve_memfd(int session_fd, int token, const char 
>> > *data);
>> >  int restore_and_verify_memfd(int session_fd, int token, const char 
>> > *expected_data);
>> >  
>> > diff --git a/tools/testing/selftests/liveupdate/lib/liveupdate.c 
>> > b/tools/testing/selftests/liveupdate/lib/liveupdate.c
>> > index 60121873f685..7bc6707d8bb7 100644
>> > --- a/tools/testing/selftests/liveupdate/lib/liveupdate.c
>> > +++ b/tools/testing/selftests/liveupdate/lib/liveupdate.c
>> > @@ -54,9 +54,35 @@ int luo_retrieve_session(int luo_fd, const char *name)
>> >    return arg.fd;
>> >  }
>> >  
>> > +int luo_session_preserve_fd(int session_fd, int fd, __u64 token)
>> > +{
>> > +  struct liveupdate_session_preserve_fd arg = {
>> > +          .size = sizeof(arg),
>> > +          .fd = fd,
>> > +          .token = token,
>> > +  };
>> > +
>> > +  if (ioctl(session_fd, LIVEUPDATE_SESSION_PRESERVE_FD, &arg) < 0)
>> > +          return -errno;
>> > +
>> > +  return 0;
>> > +}
>> > +
>> > +int luo_session_retrieve_fd(int session_fd, __u64 token)
>> nit: Can add a comment that, once it is failed, retrieved status is saved,
>> So it is permanent failure.
>
> I think appropriate place will be the official documentation which is
> here include/uapi/linux/liveupdate.h
>
> I don't see it is mentioned in the documentation (yes, code does what
> you have said), I will refrain from adding that comment here.

Would be a good addition to the LUO docs I think. Patches welcome :-)

[...]

-- 
Regards,
Pratyush Yadav

Reply via email to