Re: FW: Symbolic link with absolute target path in UDF - not working properly?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue 13-12-11 12:01:39, Joerg Schilling wrote:
> And BTW: given the fact that Linux supports programs like "df", I would guess 
> that it is possible to do that mapping. Note that unless you do something 
> really weird (which would be in conflict with the POSIX standard), you always 
> know the vfs structure for a file and a vfs structure of course has an 
> associated mount point. Given the fact that in an FS that does not support 
> hard links to directories (UDF does not, so you are on the easy side) there is
> exactly one way to traverse the directory tree upwards, As a result, there is 
> always exactly one mountpoint related to any leaf fs object.
> 
> 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
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

  And yes, df doesn't work for ext3_image if you do this:
quack:/tmp/foo # df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2             24843384   8170984  15410424  35% /
devtmpfs                488488       240    488248   1% /dev
tmpfs                   489924       544    489380   1% /dev/shm
/dev/mapper/cr_sda3   50007768  36910580  10556904  78% /crypted
df: `/tmp/foo/bar/baz': No such file or directory
/dev/loop1               63461     63461         0 100% /tmp/foo/bar

  And yes, if I get into bar/baz and then mount a filesystem over bar,
getcwd returns a path which is not resolvable:
quack:/tmp/foo/bar/baz # pwd
/tmp/foo/bar/baz
quack:/tmp/foo/bar/baz # cd /tmp/foo/bar/baz
bash: cd: /tmp/foo/bar/baz: No such file or directory

  So you can do rather insane stuff with directory tree under linux. Most
admins don't but e.g. container guys do and linux dcache is designed to
accomodate this which makes answering some otherwise simple questions
rather complicated.

								Honza
-- 
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux