From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dongsheng Yang Subject: Re: [Propose] Isolate core_pattern in mnt namespace. Date: Mon, 21 Dec 2015 14:15:08 +0800 Message-ID: <567798EC.1040304__13060.2097990506$1450679945$gmane$org@cn.fujitsu.com> References: <56729B3D.1040502@cn.fujitsu.com> <56760F05.3020308@cn.fujitsu.com> <20151220023712.GT20997@ZenIV.linux.org.uk> <567616D6.6060202@cn.fujitsu.com> <87fuyx1mfn.fsf@x220.int.ebiederm.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <87fuyx1mfn.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: "Eric W. Biederman" Cc: cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Al Viro , LKML List-Id: containers.vger.kernel.org On 12/20/2015 05:47 PM, Eric W. Biederman wrote: > Dongsheng Yang writes: > >> On 12/20/2015 10:37 AM, Al Viro wrote: >>> On Sun, Dec 20, 2015 at 10:14:29AM +0800, Dongsheng Yang wrote: >>>> On 12/17/2015 07:23 PM, Dongsheng Yang wrote: >>>>> Hi guys, >>>>> We are working on making core dump behaviour isolated in >>>>> container. But the problem is, the /proc/sys/kernel/core_pattern >>>>> is a kernel wide setting, not belongs to a container. >>>>> >>>>> So we want to add core_pattern into mnt namespace. What >>>>> do you think about it? >>>> >>>> Hi Eric, >>>> I found your patch about "net: Implement the per network namespace >>>> sysctl infrastructure", I want to do the similar thing >>>> in mnt namespace. Is that suggested way? >>> >>> Why mnt namespace and not something else? >> >> Hi Al, >> >> Well, because core_pattern indicates the path to store core file. >> In different mnt namespace, we would like to change the path with >> different value. >> >> In addition, Let's considering other namespaces: >> UTS ns: contains informations of kernel and arch, not proper for core_pattern. >> IPC ns: communication informations, not proper for core_pattern >> PID ns: core_pattern is not related with pid >> net ns: obviousely no. >> user ns: not proper too. >> >> Then I believe it's better to do this in mnt namespace. of course, >> core_pattern is just one example. After this infrastructure finished, >> we can implement more sysctls as per-mnt if necessary, I think. >> >> Al, what do you think about this idea? > > The hard part is not the sysctl. The hard part is starting the usermode > helper, in an environment that it can deal with. The mount namespace > really provides you with no help there. Do you mean the core dump helper? But I think I don't want to touch it in my development. I think I can use non-pipe way to get what I want, Let me try to explain what I want here. (1). introduce a --core-path option in docker run command to specify the path in host to store core file in one container. E.g: docker run --core-path=/core/test --name=test IMAGE (2). When the container starting, docker attach a volume to it, similar with "-v /core/test:/var/lib/docker/coredump". That means, the path of /var/lib/docker/coredump in container is a link to /core/test in host. (3). Set the /proc/sys/kernel/core_pattern in container as "/var/lib/docker/coredump". But that should not affect the core_pattern in host or other containers. Then I think I can collect the core files from each container and save them in the paths where I want. Thanx Yang > > Eric > > >