All of lore.kernel.org
 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 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.