HDFS-4381. Merge 1432149 from trunk
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1432153 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
32d84f899f
commit
bc000eea02
|
@ -188,6 +188,9 @@ Release 2.0.3-alpha - Unreleased
|
|||
|
||||
HDFS-4377. Some trivial DN comment cleanup. (eli)
|
||||
|
||||
HDFS-4381. Document fsimage format details in FSImageFormat class javadoc.
|
||||
(Jing Zhao via suresh)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
BUG FIXES
|
||||
|
|
|
@ -48,7 +48,57 @@ import org.apache.hadoop.io.MD5Hash;
|
|||
import org.apache.hadoop.io.Text;
|
||||
|
||||
/**
|
||||
* Contains inner classes for reading or writing the on-disk format for FSImages.
|
||||
* Contains inner classes for reading or writing the on-disk format for
|
||||
* FSImages.
|
||||
*
|
||||
* In particular, the format of the FSImage looks like:
|
||||
* <pre>
|
||||
* FSImage {
|
||||
* LayoutVersion: int, NamespaceID: int, NumberItemsInFSDirectoryTree: long,
|
||||
* NamesystemGenerationStamp: long, TransactionID: long
|
||||
* {FSDirectoryTree, FilesUnderConstruction, SecretManagerState} (can be compressed)
|
||||
* }
|
||||
*
|
||||
* FSDirectoryTree (if {@link Feature#FSIMAGE_NAME_OPTIMIZATION} is supported) {
|
||||
* INodeInfo of root, NumberOfChildren of root: int
|
||||
* [list of INodeInfo of root's children],
|
||||
* [list of INodeDirectoryInfo of root's directory children]
|
||||
* }
|
||||
*
|
||||
* FSDirectoryTree (if {@link Feature#FSIMAGE_NAME_OPTIMIZATION} not supported){
|
||||
* [list of INodeInfo of INodes in topological order]
|
||||
* }
|
||||
*
|
||||
* INodeInfo {
|
||||
* {
|
||||
* LocalName: short + byte[]
|
||||
* } when {@link Feature#FSIMAGE_NAME_OPTIMIZATION} is supported
|
||||
* or
|
||||
* {
|
||||
* FullPath: byte[]
|
||||
* } when {@link Feature#FSIMAGE_NAME_OPTIMIZATION} is not supported
|
||||
* ReplicationFactor: short, ModificationTime: long,
|
||||
* AccessTime: long, PreferredBlockSize: long,
|
||||
* NumberOfBlocks: int (-1 for INodeDirectory, -2 for INodeSymLink),
|
||||
* {
|
||||
* NsQuota: long, DsQuota: long, FsPermission: short, PermissionStatus
|
||||
* } for INodeDirectory
|
||||
* or
|
||||
* {
|
||||
* SymlinkString, FsPermission: short, PermissionStatus
|
||||
* } for INodeSymlink
|
||||
* or
|
||||
* {
|
||||
* [list of BlockInfo], FsPermission: short, PermissionStatus
|
||||
* } for INodeFile
|
||||
* }
|
||||
*
|
||||
* INodeDirectoryInfo {
|
||||
* FullPath of the directory: short + byte[],
|
||||
* NumberOfChildren: int, [list of INodeInfo of children INode]
|
||||
* [list of INodeDirectoryInfo of the directory children]
|
||||
* }
|
||||
* </pre>
|
||||
*/
|
||||
@InterfaceAudience.Private
|
||||
@InterfaceStability.Evolving
|
||||
|
|
Loading…
Reference in New Issue