From: Ram Pai <linuxram@us.ibm.com>
To: Dave Schwartz <decebel@gmail.com>
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: Mirror a file system on the fly
Date: Thu, 18 Aug 2005 14:03:12 -0700 [thread overview]
Message-ID: <1124398992.5222.404.camel@localhost> (raw)
In-Reply-To: <3e32b77705081813273f887aef@mail.gmail.com>
On Thu, 2005-08-18 at 13:27, Dave Schwartz wrote:
> Hi Ram,
> Thanks for the inputs. I was going over the man pages describing the
> clone system call and its option of CLONE_NEWNS. Could understand the
> description only in parts.
>
> The man page suggests that this flag when set, the cloned child is
> started in a new name space, initialized with a copy of the parent.
> Now does that mean, a program like a shell when cloned with
> CLONE_NEWNS set, will have a copy of file hierarchy of the underlying
> parent process?
Yes the child process will see an exact copy of all the mounts of
various filesystems as that of the parent. However if you mount/unmount
any filesystems in the child, the same will not be mounted/unmounted in
the parent and vice-versa. Each has its individual view of the
the filesystem heirarchy.
Try the following program that clones off a child process with a mirror
namespace and gives you a bash prompt. Try mounting and unmounting
in this bash prompt and see if the same is visible in a totally
different window.
#include <stdio.h>
#include <signal.h>
#include <sched.h>
char somemem[4096];
int myfunc(){
system("bash");
}
int
main(int argc, char *argv[])
{
if(clone(myfunc, somemem, CLONE_NEWNS|SIGCHLD, NULL)) {
wait(NULL);
} else {
printf("clone failed\n");
}
printf("exit\n");
}
Hope this helps,
RP
>
> Gracias,
> decebel
>
>
>
> On 8/19/05, Ram Pai <linuxram@us.ibm.com> wrote:
> > On Thu, 2005-08-18 at 12:40, Dave Schwartz wrote:
> > > Hi list,
> > >
> > > Not too sure if this is the right forum to ask this question but since
> > > my requirement is around linux filesystems, I shall take this liberty
> > > to post my question.
> > >
> > > My requirement is to develop a kernel/user space module to add an
> > > extension to the shell program environment such that this shell forks
> > > a mirror look-alike filesystem of the underlying OS to the programs
> > > run in that particular shell.
> >
> > u seem to be talking about namespaces, if I get you right.
> >
> > there is a flag CLONE_NEWNS to the system call 'clone' which does what
> > u r talking about.
> >
> > RP
> >
> >
> >
> >
> > >
> > >
> > > Was trying to look thru the FAQ and a few list archives to look for
> > > ideas around my requirement. The archives were overwhelming.
> > >
> > >
> > > Any ideas/pointers will be a great help,
> > > Gracias,
> > > decebel
> > > -
> > > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> > > the body of a message to majordomo@vger.kernel.org
> > > More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
> >
> -
> To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2005-08-18 21:03 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-18 19:40 Mirror a file system on the fly Dave Schwartz
2005-08-18 19:46 ` Dave Kleikamp
2005-08-18 19:59 ` Ram Pai
2005-08-18 20:27 ` Dave Schwartz
2005-08-18 21:03 ` Ram Pai [this message]
2005-08-19 15:27 ` Dave Schwartz
2005-08-20 2:42 ` Dave Quigley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1124398992.5222.404.camel@localhost \
--to=linuxram@us.ibm.com \
--cc=decebel@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.