diff options
Diffstat (limited to 'fs/ceph/ceph_fs.h')
| -rw-r--r-- | fs/ceph/ceph_fs.h | 62 |
1 files changed, 58 insertions, 4 deletions
diff --git a/fs/ceph/ceph_fs.h b/fs/ceph/ceph_fs.h index 0c2241ef3653..3b9eeed097b3 100644 --- a/fs/ceph/ceph_fs.h +++ b/fs/ceph/ceph_fs.h | |||
| @@ -19,7 +19,7 @@ | |||
| 19 | * Ceph release version | 19 | * Ceph release version |
| 20 | */ | 20 | */ |
| 21 | #define CEPH_VERSION_MAJOR 0 | 21 | #define CEPH_VERSION_MAJOR 0 |
| 22 | #define CEPH_VERSION_MINOR 19 | 22 | #define CEPH_VERSION_MINOR 20 |
| 23 | #define CEPH_VERSION_PATCH 0 | 23 | #define CEPH_VERSION_PATCH 0 |
| 24 | 24 | ||
| 25 | #define _CEPH_STRINGIFY(x) #x | 25 | #define _CEPH_STRINGIFY(x) #x |
| @@ -36,7 +36,7 @@ | |||
| 36 | * client-facing protocol. | 36 | * client-facing protocol. |
| 37 | */ | 37 | */ |
| 38 | #define CEPH_OSD_PROTOCOL 8 /* cluster internal */ | 38 | #define CEPH_OSD_PROTOCOL 8 /* cluster internal */ |
| 39 | #define CEPH_MDS_PROTOCOL 9 /* cluster internal */ | 39 | #define CEPH_MDS_PROTOCOL 12 /* cluster internal */ |
| 40 | #define CEPH_MON_PROTOCOL 5 /* cluster internal */ | 40 | #define CEPH_MON_PROTOCOL 5 /* cluster internal */ |
| 41 | #define CEPH_OSDC_PROTOCOL 24 /* server/client */ | 41 | #define CEPH_OSDC_PROTOCOL 24 /* server/client */ |
| 42 | #define CEPH_MDSC_PROTOCOL 32 /* server/client */ | 42 | #define CEPH_MDSC_PROTOCOL 32 /* server/client */ |
| @@ -53,8 +53,18 @@ | |||
| 53 | /* | 53 | /* |
| 54 | * feature bits | 54 | * feature bits |
| 55 | */ | 55 | */ |
| 56 | #define CEPH_FEATURE_SUPPORTED 0 | 56 | #define CEPH_FEATURE_UID 1 |
| 57 | #define CEPH_FEATURE_REQUIRED 0 | 57 | #define CEPH_FEATURE_NOSRCADDR 2 |
| 58 | #define CEPH_FEATURE_FLOCK 4 | ||
| 59 | |||
| 60 | #define CEPH_FEATURE_SUPPORTED_MON CEPH_FEATURE_UID|CEPH_FEATURE_NOSRCADDR | ||
| 61 | #define CEPH_FEATURE_REQUIRED_MON CEPH_FEATURE_UID | ||
| 62 | #define CEPH_FEATURE_SUPPORTED_MDS CEPH_FEATURE_UID|CEPH_FEATURE_NOSRCADDR|CEPH_FEATURE_FLOCK | ||
| 63 | #define CEPH_FEATURE_REQUIRED_MDS CEPH_FEATURE_UID | ||
| 64 | #define CEPH_FEATURE_SUPPORTED_OSD CEPH_FEATURE_UID|CEPH_FEATURE_NOSRCADDR | ||
| 65 | #define CEPH_FEATURE_REQUIRED_OSD CEPH_FEATURE_UID | ||
| 66 | #define CEPH_FEATURE_SUPPORTED_CLIENT CEPH_FEATURE_NOSRCADDR | ||
| 67 | #define CEPH_FEATURE_REQUIRED_CLIENT CEPH_FEATURE_NOSRCADDR | ||
| 58 | 68 | ||
| 59 | 69 | ||
| 60 | /* | 70 | /* |
| @@ -91,6 +101,8 @@ int ceph_file_layout_is_valid(const struct ceph_file_layout *layout); | |||
| 91 | #define CEPH_AUTH_NONE 0x1 | 101 | #define CEPH_AUTH_NONE 0x1 |
| 92 | #define CEPH_AUTH_CEPHX 0x2 | 102 | #define CEPH_AUTH_CEPHX 0x2 |
| 93 | 103 | ||
| 104 | #define CEPH_AUTH_UID_DEFAULT ((__u64) -1) | ||
| 105 | |||
| 94 | 106 | ||
| 95 | /********************************************* | 107 | /********************************************* |
| 96 | * message layer | 108 | * message layer |
| @@ -128,11 +140,27 @@ int ceph_file_layout_is_valid(const struct ceph_file_layout *layout); | |||
| 128 | #define CEPH_MSG_CLIENT_SNAP 0x312 | 140 | #define CEPH_MSG_CLIENT_SNAP 0x312 |
| 129 | #define CEPH_MSG_CLIENT_CAPRELEASE 0x313 | 141 | #define CEPH_MSG_CLIENT_CAPRELEASE 0x313 |
| 130 | 142 | ||
| 143 | /* pool ops */ | ||
| 144 | #define CEPH_MSG_POOLOP_REPLY 48 | ||
| 145 | #define CEPH_MSG_POOLOP 49 | ||
| 146 | |||
| 147 | |||
| 131 | /* osd */ | 148 | /* osd */ |
| 132 | #define CEPH_MSG_OSD_MAP 41 | 149 | #define CEPH_MSG_OSD_MAP 41 |
| 133 | #define CEPH_MSG_OSD_OP 42 | 150 | #define CEPH_MSG_OSD_OP 42 |
| 134 | #define CEPH_MSG_OSD_OPREPLY 43 | 151 | #define CEPH_MSG_OSD_OPREPLY 43 |
| 135 | 152 | ||
| 153 | /* pool operations */ | ||
| 154 | enum { | ||
| 155 | POOL_OP_CREATE = 0x01, | ||
| 156 | POOL_OP_DELETE = 0x02, | ||
| 157 | POOL_OP_AUID_CHANGE = 0x03, | ||
| 158 | POOL_OP_CREATE_SNAP = 0x11, | ||
| 159 | POOL_OP_DELETE_SNAP = 0x12, | ||
| 160 | POOL_OP_CREATE_UNMANAGED_SNAP = 0x21, | ||
| 161 | POOL_OP_DELETE_UNMANAGED_SNAP = 0x22, | ||
| 162 | }; | ||
| 163 | |||
| 136 | struct ceph_mon_request_header { | 164 | struct ceph_mon_request_header { |
| 137 | __le64 have_version; | 165 | __le64 have_version; |
| 138 | __le16 session_mon; | 166 | __le16 session_mon; |
| @@ -155,6 +183,31 @@ struct ceph_mon_statfs_reply { | |||
| 155 | struct ceph_statfs st; | 183 | struct ceph_statfs st; |
| 156 | } __attribute__ ((packed)); | 184 | } __attribute__ ((packed)); |
| 157 | 185 | ||
| 186 | const char *ceph_pool_op_name(int op); | ||
| 187 | |||
| 188 | struct ceph_mon_poolop { | ||
| 189 | struct ceph_mon_request_header monhdr; | ||
| 190 | struct ceph_fsid fsid; | ||
| 191 | __le32 pool; | ||
| 192 | __le32 op; | ||
| 193 | __le64 auid; | ||
| 194 | __le64 snapid; | ||
| 195 | __le32 name_len; | ||
| 196 | } __attribute__ ((packed)); | ||
| 197 | |||
| 198 | struct ceph_mon_poolop_reply { | ||
| 199 | struct ceph_mon_request_header monhdr; | ||
| 200 | struct ceph_fsid fsid; | ||
| 201 | __le32 reply_code; | ||
| 202 | __le32 epoch; | ||
| 203 | char has_data; | ||
| 204 | char data[0]; | ||
| 205 | } __attribute__ ((packed)); | ||
| 206 | |||
| 207 | struct ceph_mon_unmanaged_snap { | ||
| 208 | __le64 snapid; | ||
| 209 | } __attribute__ ((packed)); | ||
| 210 | |||
| 158 | struct ceph_osd_getmap { | 211 | struct ceph_osd_getmap { |
| 159 | struct ceph_mon_request_header monhdr; | 212 | struct ceph_mon_request_header monhdr; |
| 160 | struct ceph_fsid fsid; | 213 | struct ceph_fsid fsid; |
| @@ -308,6 +361,7 @@ union ceph_mds_request_args { | |||
| 308 | struct { | 361 | struct { |
| 309 | __le32 frag; /* which dir fragment */ | 362 | __le32 frag; /* which dir fragment */ |
| 310 | __le32 max_entries; /* how many dentries to grab */ | 363 | __le32 max_entries; /* how many dentries to grab */ |
| 364 | __le32 max_bytes; | ||
| 311 | } __attribute__ ((packed)) readdir; | 365 | } __attribute__ ((packed)) readdir; |
| 312 | struct { | 366 | struct { |
| 313 | __le32 mode; | 367 | __le32 mode; |
