Raeanne J Marks created HDFS-12873: -------------------------------------- Summary: Creating a '..' directory is possible using inode paths Key: HDFS-12873 URL: https://issues.apache.org/jira/browse/HDFS-12873 Project: Hadoop HDFS Issue Type: Bug Components: hdfs, namenode Affects Versions: 2.8.0 Environment: Apache NameNode running in a Docker container on a Fedora 25 workstation. Reporter: Raeanne J Marks
Start with a fresh deployment of HDFS. 1. Mkdirs '/x/y/z' 2. use GetFileInfo to get y's inode number 3. Mkdirs '/.reserved/.inodes/<y's inode number>/z/../foo' Expectation: The path in step 3 is rejected as invalid (exception thrown) OR foo would be created under y. Observation: This created a directory called '..' under z and 'foo' under that '..' directory instead of consolidating the path to '/x/y/foo' or throwing an exception. GetListing on '/.reserved/.inodes/<z's inode number>' shows '..', while GetListing on '/x/y' does not. Mkdirs INotify events were reported with the following paths, in order: /x /x/y /x/y/z /x/y/z/.. /x/y/z/../foo I can also chain these dotdot directories and make them as deep as I want. Mkdirs works with the following paths appended to the inode path for directory y: '/z/../../../foo', '/z/../../../../../', '/z/../../../foo/bar/../..' etc, and it constructs all the '..' directories as if they weren't special names. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org