]> git.proxmox.com Git - ceph.git/blame - ceph/doc/cephfs/cephfs-io-path.rst
Import ceph 15.2.8
[ceph.git] / ceph / doc / cephfs / cephfs-io-path.rst
CommitLineData
9f95a23c
TL
1=========================
2 Ceph File System IO Path
3=========================
4
5All file data in CephFS is stored as RADOS objects. CephFS clients can directly
6access RADOS to operate on file data. MDS only handles metadata operations.
7
8To read/write a CephFS file, client needs to have 'file read/write' capabilities
9for corresponding inode. If client does not have required capabilities, it sends
10a 'cap message' to MDS, telling MDS what it wants. MDS will issue capabilities
11to client when it is possible. Once client has 'file read/write' capabilities,
12it can directly access RADOS to read/write file data. File data are stored as
13RADOS objects in the form of <inode number>.<object index>. See 'Data Striping'
14section of `Architecture`_ for more information. If the file is only opened by
15one client, MDS also issues 'file cache/buffer' capabilities to the only client.
16The 'file cache' capability means that file read can be satisfied by client
17cache. The 'file buffer' capability means that file write can be buffered in
18client cache.
19
20
21.. ditaa::
f91f0fd5 22
9f95a23c
TL
23 +---------------------+
24 | Application |
25 +---------------------+
26 |
27 V
28 +---------------------+ Data IOs +--------------------+
29 | CephFS Library | ---------> | LibRados |
30 +---------------------+ +--------------------+
31 | |
32 | Metadata Operations | Objects Read/Write
33 V V
34 +---------------------+ +--------------------+
35 | MDSs | -=-------> | OSDs |
36 +---------------------+ +--------------------+
37
38
39 +----------------------+ +---------------------+
40 | CephFS kernel client | Data IOs | Ceph kernel library |
41 | (ceph.ko) | --------> | (libceph.ko) |
42 +----------------------+ +---------------------+
43 | |
44 | Metadata Operations | Objects Read/Write
45 v v
46 +---------------------+ +--------------------+
47 | MDSs | -=-------> | OSDs |
48 +---------------------+ +--------------------+
49
50.. _Architecture: ../architecture