Branch for snapshot related work

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1360400 13f79535-47bb-0310-9956-ffa450edef68
Merge r1360400 through r1399945 from trunk.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1399950 13f79535-47bb-0310-9956-ffa450edef68
HDFS-4076. Support snapshot of single files.  (szetszwo)


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400245 13f79535-47bb-0310-9956-ffa450edef68
HDFS-4082. Add editlog opcodes for snapshot create and delete operations.  Contributed by suresh


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400247 13f79535-47bb-0310-9956-ffa450edef68
Moving HDFS-2802 related changes to a separate CHANGES.txt

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400285 13f79535-47bb-0310-9956-ffa450edef68
Reverting the change r1400285 since it included unrelated changes

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400290 13f79535-47bb-0310-9956-ffa450edef68
Moving HDFS-2802 related changes to a separate CHANGES.txt

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400291 13f79535-47bb-0310-9956-ffa450edef68
HDFS-4086. Add editlog opcodes to allow and disallow snapshots on a directory. Contributed by Brandon Li.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400298 13f79535-47bb-0310-9956-ffa450edef68
HDFS-4083. Protocol changes for snapshots. Contributed by Suresh Srinivas.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400316 13f79535-47bb-0310-9956-ffa450edef68
HDFS-4077. Add support for Snapshottable Directory. Contributed by Nicholas.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400318 13f79535-47bb-0310-9956-ffa450edef68
HDFS-4077. Adding a file missed in the commit r1400318.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400350 13f79535-47bb-0310-9956-ffa450edef68
Merge r1399946 through r1400349 from trunk.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400351 13f79535-47bb-0310-9956-ffa450edef68
HDFS-4087. Protocol changes for listSnapshots functionality. Contributed by Brandon Li.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400698 13f79535-47bb-0310-9956-ffa450edef68
HDFS-4079. Add SnapshotManager which maintains a list for all the snapshottable directories and supports snapshot methods such as setting a directory to snapshottable and creating a snapshot.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400728 13f79535-47bb-0310-9956-ffa450edef68
Merging trunk changes

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400740 13f79535-47bb-0310-9956-ffa450edef68
HDFS-4078. Handle replication in snapshots.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1400743 13f79535-47bb-0310-9956-ffa450edef68
HDFS-4084. Provide CLI support to allow and disallow snapshot on a directory. Contributed by Brondon Li.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1401444 13f79535-47bb-0310-9956-ffa450edef68
HDFS-4091. Add snapshot quota to limit the number of snapshots allowed.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1401868 13f79535-47bb-0310-9956-ffa450edef68
Merge r1400738 through r1401868 from trunk.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1401869 13f79535-47bb-0310-9956-ffa450edef68
HDFS-4097. Provide CLI support for createSnapshot. Contributed by Brandon Li.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-2802@1401971 13f79535-47bb-0310-9956-ffa450edef68