Subject: Re: [RFC][PATCH] ns: Syscalls for better namespace sharing control.

From: Pavel Emelyanov <[email-masked]>
Date: Sat, 27 Feb 2010 00:13:43 +0300

> +static struct inode *nsfd_mkinode(void)
> +{
> +	struct inode *inode;
> +	inode = new_inode(nsfd_mnt->mnt_sb);
> +	if (!inode)
> +		return ERR_PTR(-ENOMEM);
> +
> +	inode->i_fop = &nsfd_file_operations;
> +
> +	/*
> +	 * Mark the inode dirty from the very beginning,
> +	 * that way it will never be moved to the dirty
> +	 * list because mark_inode_dirty() will think that
> +	 * it already _is_ on the dirty list.
> +	 */
> +	inode->i_state = I_DIRTY;
> +	inode->i_mode = S_IRUSR | S_IWUSR;
> +	inode->i_uid = current_fsuid();
> +	inode->i_gid = current_fsgid();
> +	inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
> +	return inode;
> +}

Why not use anon inodes?

> diff --git a/include/linux/nstype.h b/include/linux/nstype.h
> new file mode 100644
> index 0000000..3bdf856
> --- /dev/null
> +++ b/include/linux/nstype.h
> @@ -0,0 +1,6 @@
> +#ifndef _LINUX_NSTYPE_H
> +#define _LINUX_NSTYPE_H
> +
> +#define NSTYPE_NET 0
> +
> +#endif /* _LINUX_NSTYPE_H */

Yet another set of per-namespace IDs along with CLONE_NEWXXX ones?
I currently have a way to create all namespaces we have with one
syscall. Why don't we have an ability to enter them all with one syscall?