]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: PendingReleaseNotes and dev doc for open file table 21204/head
authorYan, Zheng <zyan@redhat.com>
Tue, 3 Apr 2018 09:01:52 +0000 (17:01 +0800)
committerYan, Zheng <zyan@redhat.com>
Tue, 3 Apr 2018 09:06:07 +0000 (17:06 +0800)
Fixes: http://tracker.ceph.com/issues/23532
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
PendingReleaseNotes
doc/dev/mds_internals/data-structures.rst

index 9f3da71b664b736bda27e0959ee4436c8b5ad604..4f1d6e417838799b7836179bf4a204c53e68bcd2 100644 (file)
     mds_session_timeout, mds_session_autoclose, and mds_max_file_size are now
     obsolete.
 
+  * Each mds rank now maintains a table that tracks open files and their
+    ancestor directories. Recovering MDS can quickly get open files' pathes,
+    significantly reducing the time of loading inodes for open files. MDS
+    creates the table automatically if it does not exist.
+
 * *RBD*
 
   * The RBD C API's rbd_discard method now enforces a maximum length of
index 1197b62f3a4b9175ee4320d573338aff66717c5d..f06727166fc6a53c447a39232090447a1ea8708c 100644 (file)
@@ -34,3 +34,11 @@ As this doc is being written, size of CInode is about 1400 bytes, size of CDentr
 is about 400 bytes, size of CDir is about 700 bytes. These data structures are
 quite large. Please be careful if you want to add new fields to them.
 
+*OpenFileTable*
+  Open file table tracks open files and their ancestor directories. Recovering
+  MDS can easily get open files' pathes, significantly reducing the time of
+  loading inodes for open files. Each entry in the table corresponds to an inode,
+  it records linkage information (parent inode and dentry name) of the inode. MDS
+  can constructs the inode's path by recursively lookup parent inode's linkage.
+  Open file table is stored in omap of RADOS objects, table entries correspond to
+  KV pairs in omap.