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:
parent
2f6ce4c7b1
commit
2328698995
doc/cephfs
49
doc/cephfs/cephfs-io-path.rst
Normal file
49
doc/cephfs/cephfs-io-path.rst
Normal 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
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user