For a snapshottable directory,
            the path component  ".snapshot" is used for accessing its snapshots.
            Suppose /foo is a snapshottable directory,
            /foo/bar is a file/directory in /foo,
            and /foo has a snapshot s0.
            Then, the path /foo/.snapshot/s0/bar
            refers to the snapshot copy of /foo/bar.
            The usual API and CLI can work with the ".snapshot" paths.
            The following are some examples:
        
- Listing all the snapshots under a snapshottable directory: - hadoop dfs -ls /foo/.snapshot
- Listing the files in snapshot - s0:- hadoop dfs -ls /foo/.snapshot/s0
- Copying a file from snapshot - s0:- hadoop dfs -cp /foo/.snapshot/s0/bar /tmp
The name ".snapshot" is now a reserved file name in HDFS so that users cannot create a file/directory with ".snapshot" as the name. If ".snapshot" is used in a previous version of HDFS, it must be renamed before upgrade; otherwise, upgrade will fail.


