[ 
https://issues.apache.org/jira/browse/HDFS-4771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13646672#comment-13646672
 ] 

Andrew Wang commented on HDFS-4771:
-----------------------------------

Hey [~daryn], thanks for the info. I did some searching, and I'm not sure how 
common this behavior is. The Open Group man page for chmod has this to say [1]:

{noformat}
Some implementations might allow changing the mode of symbolic links. This is 
not supported by the interfaces in the POSIX specification.
{noformat}

The Linux man page for chmod says this [2]:

{noformat}
chmod never changes the permissions of symbolic links; the chmod system call 
cannot change their permissions. This is not a problem since the permissions of 
symbolic links are never used.
{noformat}

Not to say that permissions aren't potentially useful though. I think Brandon 
intended something different for this JIRA though, since HDFS-948 captures 
setting permissions and owners on symlinks.

[1]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/fchmodat.html
[2]: http://linux.die.net/man/1/chmod
                
> Remove the assumption that symlink is inside HDFS namespace and resolvable
> --------------------------------------------------------------------------
>
>                 Key: HDFS-4771
>                 URL: https://issues.apache.org/jira/browse/HDFS-4771
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 3.0.0
>            Reporter: Brandon Li
>
> Currently HDFS always resolves symlink when setting certain file attributes, 
> such as setPermission and setTime. And thus the client can't set some file 
> attributes of the symlink itself.
> Two major problems with current symlink support:
>  1. HDFS assumes the link is inside its own namespace. This is a problem when 
> HDFS is integrated into client's file system namespace.
> 2. Suppose the linked target is inside HFDS, HDFS doesn't really check 
> whether the target saved in the link file is a valid path. Even the target 
> was valid, it could become invalid as the namespace changes.
> For example, create a symlink /user/brandon/iamlink.lnk and it has the 
> content(target) as "/invalid/path". The file /user/brandon/iamlink.lnk can't 
> be deleted since HDFS can't resolve it.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to