1
0
mirror of https://github.com/ceph/ceph synced 2025-03-30 07:19:14 +00:00

doc/cephfs: add doc for cephfs io path

Fixes: https://tracker.ceph.com/issues/41738
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
This commit is contained in:
Yan, Zheng 2019-09-13 09:46:20 +08:00
parent 2f6ce4c7b1
commit 2328698995
2 changed files with 50 additions and 0 deletions

View File

@ -0,0 +1,49 @@
=========================
Ceph File System IO Path
=========================
All file data in CephFS is stored as RADOS objects. CephFS clients can directly
access RADOS to operate on file data. MDS only handles metadata operations.
To read/write a CephFS file, client needs to have 'file read/write' capabilities
for corresponding inode. If client does not have required capabilities, it sends
a 'cap message' to MDS, telling MDS what it wants. MDS will issue capabilities
to client when it is possible. Once client has 'file read/write' capabilities,
it can directly access RADOS to read/write file data. File data are stored as
RADOS objects in the form of <inode number>.<object index>. See 'Data Striping'
section of `Architecture`_ for more information. If the file is only opened by
one client, MDS also issues 'file cache/buffer' capabilities to the only client.
The 'file cache' capability means that file read can be satisfied by client
cache. The 'file buffer' capability means that file write can be buffered in
client cache.
.. ditaa::
+---------------------+
| Application |
+---------------------+
|
V
+---------------------+ Data IOs +--------------------+
| CephFS Library | ---------> | LibRados |
+---------------------+ +--------------------+
| |
| Metadata Operations | Objects Read/Write
V V
+---------------------+ +--------------------+
| MDSs | -=-------> | OSDs |
+---------------------+ +--------------------+
+----------------------+ +---------------------+
| CephFS kernel client | Data IOs | Ceph kernel library |
| (ceph.ko) | --------> | (libceph.ko) |
+----------------------+ +---------------------+
| |
| Metadata Operations | Objects Read/Write
v v
+---------------------+ +--------------------+
| MDSs | -=-------> | OSDs |
+---------------------+ +--------------------+
.. _Architecture: ../architecture

View File

@ -143,6 +143,7 @@ Additional Details
Distributed Metadata Cache <mdcache>
FS volume and subvolumes <fs-volumes>
Dynamic Metadata Management in CephFS <dynamic-metadata-management>
CephFS IO Path <cephfs-io-path>
.. raw:: html