On Tue, Jan 29, 2013 at 08:52:45AM +0900, 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(a)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>
Oh true, I forgot we added that. That is fine.
How do you think suitable limit for default should be ?
half of memory limit of a container ?
I think /dev can just be limited to say 1 MB - it should only ever contain
device nodes which have little space requirement. If someone actually wants
to be using SHM, then they shuld explicitly configure /dev/shm in the XML
with a suitable limit.
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|