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

Kamezawa Hiroyuki kamezawa.hiroyu at jp.fujitsu.com
Mon Jan 28 23:52:45 UTC 2013


(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 ?


THanks,
-Kame





More information about the libvir-list mailing list