[libvirt] [PATCH] LXC: create directory /dev/shm automatically

Gao feng gaofeng at cn.fujitsu.com
Tue Jan 29 02:16:22 UTC 2013


On 2013/01/29 07:52, Kamezawa Hiroyuki wrote:
> (2013/01/28 19:36), Daniel P. Berrange wrote:
>> On Mon, Jan 28, 2013 at 02:37:11PM +0800, Gao feng wrote:
>>> Now we mount /dev as tmpfs and haven't created directory
>>> /dev/shm,so the glibc api such as shm_open/sem_open will
>>> create files under dir /dev.(since /dev is mounted as tmpfs)
>>>
>>> Through these api still useable in container,but this cause
>>> directory /dev looks a little chaos.
>>>
>>> This patch create directory /dev/shm automatically,the files
>>> created by shm_open/sem_open will stay in this directroy.
>>>
>>> Signed-off-by: Gao feng <gaofeng at cn.fujitsu.com>
>>> ---
>>>   src/lxc/lxc_container.c | 7 +++++++
>>>   1 file changed, 7 insertions(+)
>>>
>>> diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
>>> index 497539c..5150564 100644
>>> --- a/src/lxc/lxc_container.c
>>> +++ b/src/lxc/lxc_container.c
>>> @@ -586,6 +586,13 @@ static int lxcContainerMountBasicFS(bool pivotRoot,
>>>                                    "devfs", "/dev", "tmpfs", opts);
>>>               goto cleanup;
>>>           }
>>> +
>>> +        VIR_DEBUG("create directory /dev/shm for POSIX shared memory and named semphore");
>>> +        if (virFileMakePath("/dev/shm") < 0) {
>>> +            virReportSystemError(errno, "%s",
>>> +                                 _("Failed to mkdir /dev/shm"));
>>> +            goto cleanup;
>>> +        }
>>>       }
>>>
>>>       rc = 0;
>>
>> I we probably want to mount a separate tmpfs on /dev/shm really, so we can
>> do resource limits on /dev and /dev/shm separately.
> 
> I agree.
> BTW, if the user wants to tune limit of /dev/shm size, he need to add
> 
> <filesystem type='ram'>
>   <source usage='XXXXX'/>
>   <target dir='/dev/shm'/>
> </filesystem>
> 
> ?
> 
> How do you think suitable limit for default should be ?
> half of memory limit of a container ?
> 
> 

I think we needn't consider about this problem,The root user
of the container should do this job.

For libvirt lxc,we only need to limit the memory resource that
the container uses.And we needn't setup any xml configuration too.

Or maybe I misunderstand what you mean?

Thanks




More information about the libvir-list mailing list