From 998b827a5d309c54a4c684da33e5c1341f675586 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Sat, 16 Mar 2019 16:44:45 +0100 Subject: [PATCH] start file format docu --- docs/conf.py | 2 +- docs/file-formats.rst | 10 ++++++++ docs/index.rst | 1 + docs/pxar-format-overview.dot | 43 +++++++++++++++++++++++++++++++++++ 4 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 docs/file-formats.rst create mode 100644 docs/pxar-format-overview.dot diff --git a/docs/conf.py b/docs/conf.py index c80268db..11f1f00d 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -30,7 +30,7 @@ # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = [] +extensions = ["sphinx.ext.graphviz"] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff --git a/docs/file-formats.rst b/docs/file-formats.rst new file mode 100644 index 00000000..afa257e0 --- /dev/null +++ b/docs/file-formats.rst @@ -0,0 +1,10 @@ +File Formats +============ + +Proxmox File Archive Format (``.pxar``) +--------------------------------------- + + +.. graphviz:: pxar-format-overview.dot + + diff --git a/docs/index.rst b/docs/index.rst index 50958cc9..9eedf88e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -24,6 +24,7 @@ Welcome to Proxmox Backup's documentation! :caption: Appendix command-syntax.rst + file-formats.rst glossary.rst * :ref:`genindex` diff --git a/docs/pxar-format-overview.dot b/docs/pxar-format-overview.dot new file mode 100644 index 00000000..8d4ab21b --- /dev/null +++ b/docs/pxar-format-overview.dot @@ -0,0 +1,43 @@ +digraph g { +graph [ +rankdir = "LR" +fontname="Helvetica" +]; +node [ +fontsize = "16" +shape = "record" +]; +edge [ +]; + +"archive" [ +label = "archive.pxar" +shape = "record" +]; + +"rootdir" [ +label = " ENTRY| \{XATTR\}\* extended attribute list\l | \{ACL_USER\}\* USER ACL entries\l | \{ACL_GROUP\}\* GROUP ACL entries\l| \[ACL_GROUP_OBJ\] the ACL_GROUP_OBJ \l| \[ACL_DEFAULT\] the various default ACL fields\l|\{ACL_DEFAULT_USER\}\* USER ACL entries\l|\{ACL_DEFAULT_GROUP\}\* GROUP ACL entries\l|\[FCAPS\] file capability in Linux disk format\l|\[QUOTA_PROJECT_ID\] the ext4/xfs quota project ID\l| { PAYLOAD | SYMLINK | DEVICE | { \{DirectoryEntries\}\* | GOODBYE}}" +shape = "record" +]; + + +"entry" [ +label = " size: u64 = 64\l|type: u64 = ENTRY\l|feature_flags: u64\l|mode: u64\l|flags: u64\l|uid: u64\l|gid: u64\l|mtime: u64\l" +labeljust = "l" +shape = "record" +]; + + + +"direntry" [ +label = " FILENAME |{ENTRY | HARDLINK}" +shape = "record" +]; + +"archive" -> "rootdir":f0 + +"rootdir":f0 -> "entry":f0 + +"rootdir":de -> "direntry":f0 + +} \ No newline at end of file