summaryrefslogtreecommitdiffstats
path: root/fs/ceph/snap.c
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-10-06 11:31:12 -0700
committerSage Weil <sage@newdream.net>2009-10-06 11:31:12 -0700
commita8599bd821d084d04a3290fffae1071624ec00ea (patch)
treee2323ebfad9a49fdb579ff87d1ec3a8694e8c0f5 /fs/ceph/snap.c
parentba75bb98cfb93b62c54af25bf67ff90857264bbe (diff)
ceph: capability management
The Ceph metadata servers control client access to inode metadata and file data by issuing capabilities, granting clients permission to read and/or write both inode field and file data to OSDs (storage nodes). Each capability consists of a set of bits indicating which operations are allowed. If the client holds a *_SHARED cap, the client has a coherent value that can be safely read from the cached inode. In the case of a *_EXCL (exclusive) or FILE_WR capabilities, the client is allowed to change inode attributes (e.g., file size, mtime), note its dirty state in the ceph_cap, and asynchronously flush that metadata change to the MDS. In the event of a conflicting operation (perhaps by another client), the MDS will revoke the conflicting client capabilities. In order for a client to cache an inode, it must hold a capability with at least one MDS server. When inodes are released, release notifications are batched and periodically sent en masse to the MDS cluster to release server state. Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/snap.c')
0 files changed, 0 insertions, 0 deletions