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)
176e8575faSSam Lang /* bits 19-25 defined by user-space; not supported yet here */
186e8575faSSam Lang #define CEPH_FEATURE_REPLY_CREATE_INODE (1<<27)
191fe60e51SSage Weil 
201fe60e51SSage Weil /*
211fe60e51SSage Weil  * Features supported.
221fe60e51SSage Weil  */
231fe60e51SSage Weil #define CEPH_FEATURES_SUPPORTED_DEFAULT  \
24546f04efSSage Weil 	(CEPH_FEATURE_NOSRCADDR |	 \
256e8575faSSam Lang 	 CEPH_FEATURE_CRUSH_TUNABLES |   \
266e8575faSSam Lang 	 CEPH_FEATURE_REPLY_CREATE_INODE)
271fe60e51SSage Weil 
281fe60e51SSage Weil #define CEPH_FEATURES_REQUIRED_DEFAULT   \
291fe60e51SSage Weil 	(CEPH_FEATURE_NOSRCADDR)
301fe60e51SSage Weil #endif
31