• S
    ceph: capability management · a8599bd8
    Sage Weil 提交于
    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: NSage Weil <sage@newdream.net>
    a8599bd8
caps.c 76.7 KB