linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).