From: Jan Kara <jack@suse.cz>
To: Joerg Schilling <schily@schily.net>
Cc: jack@suse.cz, otnaccess@hotmail.com,
linux-fsdevel@vger.kernel.org, joerg@schily.net
Subject: Re: FW: Symbolic link with absolute target path in UDF - not working properly?
Date: Tue, 13 Dec 2011 20:25:26 +0100 [thread overview]
Message-ID: <20111213192526.GA20267@quack.suse.cz> (raw)
In-Reply-To: <4ee799c8.IGU4Fg9P4wlTkYIO%schily@schily.net>
On Tue 13-12-11 19:30:32, Joerg Schilling wrote:
> Jan Kara <jack@suse.cz> wrote:
>
> > > AFAIK, Linux does getcwd() in kernel as Solaris does, so it should be possible
> > > to get the path for a mount point, in case that path was not kept during the
> > > mount(2) operation.
> > Jorg, maybe I'm missing something but look:
> > quack:/tmp/foo # l
> > total 700
> > drwxr-xr-x 2 root root 4096 2011-12-13 16:54 ./
> > drwxrwxrwt 74 root root 712704 2011-12-13 16:54 ../
> > quack:/tmp/foo # mkdir -p bar/baz
> > quack:/tmp/foo # mkdir bar2
> > quack:/tmp/foo # mount -t ext3 -o loop ~jack/fs-images/ext3-image bar/baz/
> > quack:/tmp/foo # mkdir bar/baz/dir
> > quack:/tmp/foo # touch bar/baz/dir/some_file
> > quack:/tmp/foo # mount --bind bar/baz/dir/ bar2
>
> This looks loks a loopback mount.
The first mount is the loopback one, right. But that's not really
interesting. What is interesting is the second mount --bind which allows
you to mount arbitrary *directory* over some other directory in the system.
So you have two (consistent) copies of one directory and it's subtree in the
system.
> > quack:/tmp/foo # ls bar2
> > some_file
> > quack:/tmp/foo # ls bar/baz/
> > aquota.group aquota.user dir
> > quack:/tmp/foo # mount -t ext2 -o loop ~jack/fs-images/ext2-image bar/
> > quack:/tmp/foo # l bar
> > total 18
> > drwxr-xr-x 4 10005 users 1024 2011-02-24 12:18 ./
> > drwxr-xr-x 4 root root 4096 2011-12-13 16:55 ../
> > drwx------ 2 root root 12288 2010-03-10 12:21 lost+found/
> > drwxrwxrwx 6 root root 1024 2011-02-24 12:18 t/
> > quack:/tmp/foo #
> >
> > So to summarize we have directory structure like:
> > /tmp
> > |
> > foo
> > / \
> > bar bar2
> > | |
> > here is ext2_image here is subtree of 'dir' from ext3_image
>
> If this is implemented the way it is implemented in Solaris, there is a
> nearly empty vfs layer, specific to the loopback mount that indirectly
> calls the vfs functions for the base FS. So on Solaris this is
> possible and it would work as expected.
Again, note that loopback mounts are not the hard part here. I could have
mounted standard block devices and nothing interesting would have changed
in my example. What is interesting is that I can create a directory tree
where root of some filesystem is not accessible (there is not a valid path
that would resolve to it) but it's subdirectory is accessible.
Honza
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR
next prev parent reply other threads:[~2011-12-13 19:25 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <SNT126-DS19FDA9F050C2D5E43731CDBEB40@phx.gbl>
2011-12-07 18:06 ` FW: Symbolic link with absolute target path in UDF - not working properly? Jan Kara
[not found] ` <SNT126-DS1C6361C26AD146EBA3BB6BEBE0@phx.gbl>
2011-12-12 14:18 ` Jan Kara
[not found] ` <SNT126-DS114F372B3DA7DF425B8146BEBC0@phx.gbl>
2011-12-13 11:01 ` Joerg Schilling
2011-12-13 16:13 ` Jan Kara
2011-12-13 18:30 ` Joerg Schilling
2011-12-13 19:25 ` Jan Kara [this message]
2011-12-13 19:54 ` Joerg Schilling
2011-12-13 20:26 ` Al Viro
2011-12-13 22:41 ` Joerg Schilling
2011-12-14 0:45 ` Al Viro
2011-12-14 17:34 ` Joerg Schilling
2011-12-13 20:05 ` Al Viro
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=20111213192526.GA20267@quack.suse.cz \
--to=jack@suse.cz \
--cc=joerg@schily.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=otnaccess@hotmail.com \
--cc=schily@schily.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).