On Fri, Oct 8, 2021 at 9:03 PM Samuel Thibault <sthiba...@debian.org> wrote: > Sergey Bugaev, le ven. 08 oct. 2021 21:01:09 +0300, a ecrit: > > I wonder if it'd be possible to change device_{read,write} to use a > > 64-bit integer without introducing separate new RPCs, > > No: RPC interfaces have fixed typing, expressed in the mig files.
RPC interfaces are whatever we want them to be :) — as long as we keep things compatible with old clients. Specifically, we could say, type recnum_t = uint64_t | array[*:2] of uint32_t; and voila, (new) clients send 64-bit numbers, but the servers can accept either. I'm more concerned that it would change glibc ABI, as clients would now be expected to pass 64-bit numbers. > Trying to magically extent is asking for much more trouble than just > adding the new RPCs. I'm not saying that I'm convinced that it's worth it — perhaps adding new RPCs and switching all users to them would be easier. But it's an interesting possibility. Sergey