11fe60e51SSage Weil #ifndef __CEPH_FEATURES
21fe60e51SSage Weil #define __CEPH_FEATURES
31fe60e51SSage Weil 
41fe60e51SSage Weil /*
51fe60e51SSage Weil  * feature bits
61fe60e51SSage Weil  */
71fe60e51SSage Weil #define CEPH_FEATURE_UID            (1<<0)
81fe60e51SSage Weil #define CEPH_FEATURE_NOSRCADDR      (1<<1)
91fe60e51SSage Weil #define CEPH_FEATURE_MONCLOCKCHECK  (1<<2)
101fe60e51SSage Weil #define CEPH_FEATURE_FLOCK          (1<<3)
111fe60e51SSage Weil #define CEPH_FEATURE_SUBSCRIBE2     (1<<4)
121fe60e51SSage Weil #define CEPH_FEATURE_MONNAMES       (1<<5)
131fe60e51SSage Weil #define CEPH_FEATURE_RECONNECT_SEQ  (1<<6)
141fe60e51SSage Weil #define CEPH_FEATURE_DIRLAYOUTHASH  (1<<7)
15546f04efSSage Weil /* bits 8-17 defined by user-space; not supported yet here */
16546f04efSSage Weil #define CEPH_FEATURE_CRUSH_TUNABLES (1<<18)
171604f488SJim Schutt /* bits 19-24 defined by user-space; not supported yet here */
181604f488SJim Schutt #define CEPH_FEATURE_CRUSH_TUNABLES2 (1<<25)
191604f488SJim Schutt /* bit 26 defined by user-space; not supported yet here */
206e8575faSSam Lang #define CEPH_FEATURE_REPLY_CREATE_INODE (1<<27)
211fe60e51SSage Weil 
221fe60e51SSage Weil /*
231fe60e51SSage Weil  * Features supported.
241fe60e51SSage Weil  */
251fe60e51SSage Weil #define CEPH_FEATURES_SUPPORTED_DEFAULT  \
26546f04efSSage Weil 	(CEPH_FEATURE_NOSRCADDR |	 \
276e8575faSSam Lang 	 CEPH_FEATURE_CRUSH_TUNABLES |	  \
281604f488SJim Schutt 	 CEPH_FEATURE_CRUSH_TUNABLES2 |   \
296e8575faSSam Lang 	 CEPH_FEATURE_REPLY_CREATE_INODE)
301fe60e51SSage Weil 
311fe60e51SSage Weil #define CEPH_FEATURES_REQUIRED_DEFAULT   \
321fe60e51SSage Weil 	(CEPH_FEATURE_NOSRCADDR)
331fe60e51SSage Weil #endif
34