mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-18 18:23:53 +08:00
6e8575faa8
The mds now sends back a created inode if the create request performed the create. If the file already existed, no inode is returned in the reply. This allows ceph to set the created flag in atomic_open so that permissions are properly checked in the case that the file wasn't created by the create call to the mds. To ensure compability with previous kernels, a feature for sending back the inode in the create reply was added, so that the mds will only send back the inode if the client indicates it supports the feature. Signed-off-by: Sam Lang <sam.lang@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
31 lines
885 B
C
31 lines
885 B
C
#ifndef __CEPH_FEATURES
|
|
#define __CEPH_FEATURES
|
|
|
|
/*
|
|
* feature bits
|
|
*/
|
|
#define CEPH_FEATURE_UID (1<<0)
|
|
#define CEPH_FEATURE_NOSRCADDR (1<<1)
|
|
#define CEPH_FEATURE_MONCLOCKCHECK (1<<2)
|
|
#define CEPH_FEATURE_FLOCK (1<<3)
|
|
#define CEPH_FEATURE_SUBSCRIBE2 (1<<4)
|
|
#define CEPH_FEATURE_MONNAMES (1<<5)
|
|
#define CEPH_FEATURE_RECONNECT_SEQ (1<<6)
|
|
#define CEPH_FEATURE_DIRLAYOUTHASH (1<<7)
|
|
/* bits 8-17 defined by user-space; not supported yet here */
|
|
#define CEPH_FEATURE_CRUSH_TUNABLES (1<<18)
|
|
/* bits 19-25 defined by user-space; not supported yet here */
|
|
#define CEPH_FEATURE_REPLY_CREATE_INODE (1<<27)
|
|
|
|
/*
|
|
* Features supported.
|
|
*/
|
|
#define CEPH_FEATURES_SUPPORTED_DEFAULT \
|
|
(CEPH_FEATURE_NOSRCADDR | \
|
|
CEPH_FEATURE_CRUSH_TUNABLES | \
|
|
CEPH_FEATURE_REPLY_CREATE_INODE)
|
|
|
|
#define CEPH_FEATURES_REQUIRED_DEFAULT \
|
|
(CEPH_FEATURE_NOSRCADDR)
|
|
#endif
|