On 4/20/05, Bryan Henderson <[EMAIL PROTECTED]> wrote:
> >In essense, I was
> >thinking of splitting up the concepts of 1) accessing the filesystem on
> >the HDD/device and 2) setting up a namespace for accessing the files
> >into two separate concepts
> 
> I've been crusading for years to get people to understand that a classic
> Unix mount is composed of these two parts, and they don't have to be
> married together.  (1) is called creating a filesystem image and (2) is
> called mounting a filesystem image.
> 
> (2) isn't actually "setting up" a namespace.  There's one namespace.
> Mounting is adding the names in a filesystem to that namespace, and
> thereby making the named filesystem objects accessible.
> 
> The two pieces have been slowly divorcing over the years.  We now have a
> little-used ability to have a filesystem image exist without being mounted
> at all (you get that by forcibly unmounting a filesystem image that has
> open files.  The unmount happens right away, but the filesystem image
> continues to exist until the last file is closed).  We also have the bind
> mounts that add to the namespace without creating a new filesystem image.
> I would like someday to see the ability to create  a filesystem image
> without ever mounting it, and access a file in it without ever adding it
> to the master file namespace.
> 
> >bringing up 2) completely in the userspace.
> 
> That part's another issue.  The user-controls-his-namespace aspect of it
> has been commented on at length in this and another current thread.
> 
> --
> Bryan Henderson                          IBM Almaden Research Center
> San Jose CA                              Filesystems
> 
> 

I totally agree with you. I came across this problem mainly because
there are a lot of times when I want to install custom software in
userspace and there is a limit to what you can do. I don't know if you
have looked at the installation procedure of gentoo or not... however,
in gentoo you install software by chrooting into an 'install
directory' and doing all the installation there. However, chrooting
requires root priviledges and for installing and executing software in
the userspace... chroot just misses the point.
Till now I have been manually doing installs by passing on
installation prefixes in the configure scripts... but having a
filesystem namespace associated with a process seems to be just so
right :-). When I was busy implementing the prototype I had also
thought of integrating completely usesspace filesystems (like FUSE)
into the usespace namespace. My hope was coming up with an elegant
solution to mount and use a device without resorting to any suid
binaries or scripts or help from the root. However, again, we should
keep in mind the two concepts of 'namespaces' and the 'actual
filesystem' separate in the system so that the device can be shared
(probably using a different namespace) by another user/process.

I get the point that per process filesystem namespaces the way I
presented them may have some problems with suid binaries and the way
many pieces of software work. I have not used gpg so I am not
qualified to say anything for gpg here. I should say that I don't have
an idea of the amount of backward compatibility we shall loose if we
use my apparoach. However, if I am getting things right, I believe
that the backward compatibility is lost just by introducing "user
changeable filesystem namespaces" (which in my opinion is a valuable
thing to have in an operating system) irrespective of the
implementation.

-- 
Rationality is the fundamental limitation to all human thought.
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to