Re: posix: symlink broken?

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

 



On 10/11/2012 11:35 AM, M. Mohan Kumar wrote:

As part of BD xlator symlink interface testing, I figured out that the
parameter 'linkname' contains even the mount point for example
'/media/link'. I wonder we should never get the mount directory in the
server part of code.

I tested creating symlink with posix xlator with top git commit
751da4675cf3add21e567aebb92de2c10457afee.

Here is the steps I followed:

[root@host mohan]# mount -t glusterfs host:/posix /media

[root@host mohan]# ls -la /media/
total 8
drwx------.  3 root root 4096 Oct 11 11:15 .
dr-xr-xr-x. 20 root root 4096 Sep 28 16:40 ..

[root@host mohan]# touch /media/file

[root@host mohan]# ln -s /media/file /media/link

[root@host mohan]# ls -la /media/
total 9
drwx------.  3 root root 4096 Oct 11 11:18 .
dr-xr-xr-x. 20 root root 4096 Sep 28 16:40 ..
-rw-r--r--.  1 root root    0 Oct 11 11:18 file
lrwxrwxrwx.  1 root root   11 Oct 11 11:18 link -> /media/file

[root@host mohan]# umount /media

[root@host mohan]# mount -t glusterfs host:/posix /media/posix

[root@host mohan]# ls -la /media/posix/
total 9
drwx------. 3 root root 4096 Oct 11 11:18 .
drwxr-xr-x. 4 root root 4096 Oct 11 07:55 ..
-rw-r--r--. 1 root root    0 Oct 11 11:18 file
lrwxrwxrwx. 1 root root   11 Oct 11 11:18 link -> /media/file


Directory listing of brick from server side
[root@host mohan]# ls -la ~/gl/posix/
total 24
drwx------.  3 root root 4096 Oct 11 11:18 .
drwx------.  4 root root 4096 Sep 28 20:20 ..
-rw-r--r--.  2 root root    0 Oct 11 11:18 file
drw-------. 12 root root 4096 Oct 11 11:18 .glusterfs
lrwxrwxrwx.  2 root root   11 Oct 11 11:18 link -> /media/file


Ideally it should be link -> file instead of /media/file

It the same behavior on backend fs also... I don't see it as a problem in GlusterFS.

----snip----
[root@unused data]# mount fs1 /mnt/a/
[root@unused data]# df -h /mnt/a
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0      9.9G  151M  9.2G   2% /mnt/a
[root@unused data]# cd /mnt/a
[root@unused a]# echo hello > file
[root@unused a]# ln -s  /mnt/a/file abcd
[root@unused a]# ls -l
total 20
lrwxrwxrwx. 1 root root    11 Oct 11 12:05 abcd -> /mnt/a/file
-rw-r--r--. 1 root root     6 Oct 11 12:04 file
[root@unused a]# cd
[root@unused ~]# umount /mnt/a
[root@unused ~]# cd /data
[root@unused data]# mount fs1 /mnt/b
[root@unused data]# ls -l /mnt/b
total 20
lrwxrwxrwx. 1 root root    11 Oct 11 12:05 abcd -> /mnt/a/file
-rw-r--r--. 1 root root     6 Oct 11 12:04 file
[root@unused data]#

---- snip ----



When I remounted with a different directory symlink is broken. Ideally
it should not create symlink with client mount directory details or am I
missing some thing here?





[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux