[RFC][PATCH 2.6.22-rc5] System V IPC: new IPC_SETID command to modify an ID

Cedric Le Goater clg at fr.ibm.com
Wed Jun 20 03:18:18 PDT 2007


Kirill Korotaev wrote:
> Cedric Le Goater wrote:
>> Pierre Peiffer wrote:
>>
>>
>>> This patch adds a new IPC_SETID command to the System V IPCs set of
>>> commands, which allows to change the ID of an existing IPC.
>>>
>>> This command can be used through the semctl/shmctl/msgctl API, with the new
>>> ID passed as the third argument for msgctl and shmctl (instead of a
>>> pointer) and through the fourth argument for semctl.
>>>
>>> To be successful, the following rules must be respected:
>>> - the IPC exists
>>> - the user must be allowed to change the IPC attributes regarding the IPC
>>>  permissions.
>>> - the new ID must satisfy the ID computation rule.
>>> - the entry (in the kernel internal table of IPCs) corresponding to the new
>>>  ID must be free.
>>
>> That's an interesting way to reset the ids of sysv ipcs during a restart (after 
>> a checkpoint) and we're looking for ways to do that among other things.
>>
>> How does it fit openvz ? Is it something openvz could use ? 
> 
> my personal imho is that we should not export such interfaces to user space
> and do the checkpointing from the kernel.
> it simplifies a lot of things and makes checkpointing more elegant.

I agree that we should not export useless interface to user but even
without exporting anything we need support from the kernel internals
(sysvipc in that case) to allow checkpointing. like setting the id. 
right ? 

so there might be some common ground with some new user space interface.
That's what we are looking for.

> So until there is some user-space usage scenario of the patch I missed -
> i wouldn't commit it.

Pierre has a user space tool to use it. quite simple. 

C.


More information about the Containers mailing list