diff options
| author | Yehuda Sadeh <yehuda@hq.newdream.net> | 2011-01-20 19:36:06 -0500 |
|---|---|---|
| committer | Sage Weil <sage@newdream.net> | 2011-03-21 15:24:21 -0400 |
| commit | 483fac71485e5063ff4033b6dc7d91567f1b6ff1 (patch) | |
| tree | 77c4a567f6b39850751917fa4e62753fa2e6651b /include/linux/ceph | |
| parent | 21f3b5f1bbc3c27e82a8c9fc9861fa20bcb31f26 (diff) | |
ceph: update common header files
This updates the common header files used by the different ceph
related modules. Specifically it adds definitions required by
the rbd watch/notify feature.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
Diffstat (limited to 'include/linux/ceph')
| -rw-r--r-- | include/linux/ceph/ceph_fs.h | 19 | ||||
| -rw-r--r-- | include/linux/ceph/rados.h | 39 |
2 files changed, 45 insertions, 13 deletions
diff --git a/include/linux/ceph/ceph_fs.h b/include/linux/ceph/ceph_fs.h index 09dcc0c2ffd5..b8e995fbd867 100644 --- a/include/linux/ceph/ceph_fs.h +++ b/include/linux/ceph/ceph_fs.h | |||
| @@ -136,9 +136,18 @@ struct ceph_dir_layout { | |||
| 136 | 136 | ||
| 137 | 137 | ||
| 138 | /* osd */ | 138 | /* osd */ |
| 139 | #define CEPH_MSG_OSD_MAP 41 | 139 | #define CEPH_MSG_OSD_MAP 41 |
| 140 | #define CEPH_MSG_OSD_OP 42 | 140 | #define CEPH_MSG_OSD_OP 42 |
| 141 | #define CEPH_MSG_OSD_OPREPLY 43 | 141 | #define CEPH_MSG_OSD_OPREPLY 43 |
| 142 | #define CEPH_MSG_WATCH_NOTIFY 44 | ||
| 143 | |||
| 144 | |||
| 145 | /* watch-notify operations */ | ||
| 146 | enum { | ||
| 147 | WATCH_NOTIFY = 1, /* notifying watcher */ | ||
| 148 | WATCH_NOTIFY_COMPLETE = 2, /* notifier notified when done */ | ||
| 149 | }; | ||
| 150 | |||
| 142 | 151 | ||
| 143 | /* pool operations */ | 152 | /* pool operations */ |
| 144 | enum { | 153 | enum { |
| @@ -213,8 +222,10 @@ struct ceph_client_mount { | |||
| 213 | struct ceph_mon_request_header monhdr; | 222 | struct ceph_mon_request_header monhdr; |
| 214 | } __attribute__ ((packed)); | 223 | } __attribute__ ((packed)); |
| 215 | 224 | ||
| 225 | #define CEPH_SUBSCRIBE_ONETIME 1 /* i want only 1 update after have */ | ||
| 226 | |||
| 216 | struct ceph_mon_subscribe_item { | 227 | struct ceph_mon_subscribe_item { |
| 217 | __le64 have_version; __le64 have; | 228 | __le64 have_version; __le64 have; |
| 218 | __u8 onetime; | 229 | __u8 onetime; |
| 219 | } __attribute__ ((packed)); | 230 | } __attribute__ ((packed)); |
| 220 | 231 | ||
diff --git a/include/linux/ceph/rados.h b/include/linux/ceph/rados.h index 6d5247f2e81b..0a99099801a4 100644 --- a/include/linux/ceph/rados.h +++ b/include/linux/ceph/rados.h | |||
| @@ -12,9 +12,9 @@ | |||
| 12 | * osdmap encoding versions | 12 | * osdmap encoding versions |
| 13 | */ | 13 | */ |
| 14 | #define CEPH_OSDMAP_INC_VERSION 5 | 14 | #define CEPH_OSDMAP_INC_VERSION 5 |
| 15 | #define CEPH_OSDMAP_INC_VERSION_EXT 5 | 15 | #define CEPH_OSDMAP_INC_VERSION_EXT 6 |
| 16 | #define CEPH_OSDMAP_VERSION 5 | 16 | #define CEPH_OSDMAP_VERSION 5 |
| 17 | #define CEPH_OSDMAP_VERSION_EXT 5 | 17 | #define CEPH_OSDMAP_VERSION_EXT 6 |
| 18 | 18 | ||
| 19 | /* | 19 | /* |
| 20 | * fs id | 20 | * fs id |
| @@ -181,9 +181,17 @@ enum { | |||
| 181 | /* read */ | 181 | /* read */ |
| 182 | CEPH_OSD_OP_READ = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 1, | 182 | CEPH_OSD_OP_READ = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 1, |
| 183 | CEPH_OSD_OP_STAT = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 2, | 183 | CEPH_OSD_OP_STAT = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 2, |
| 184 | CEPH_OSD_OP_MAPEXT = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 3, | ||
| 184 | 185 | ||
| 185 | /* fancy read */ | 186 | /* fancy read */ |
| 186 | CEPH_OSD_OP_MASKTRUNC = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 4, | 187 | CEPH_OSD_OP_MASKTRUNC = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 4, |
| 188 | CEPH_OSD_OP_SPARSE_READ = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 5, | ||
| 189 | |||
| 190 | CEPH_OSD_OP_NOTIFY = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 6, | ||
| 191 | CEPH_OSD_OP_NOTIFY_ACK = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 7, | ||
| 192 | |||
| 193 | /* versioning */ | ||
| 194 | CEPH_OSD_OP_ASSERT_VER = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 8, | ||
| 187 | 195 | ||
| 188 | /* write */ | 196 | /* write */ |
| 189 | CEPH_OSD_OP_WRITE = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 1, | 197 | CEPH_OSD_OP_WRITE = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 1, |
| @@ -205,6 +213,8 @@ enum { | |||
| 205 | CEPH_OSD_OP_CREATE = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 13, | 213 | CEPH_OSD_OP_CREATE = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 13, |
| 206 | CEPH_OSD_OP_ROLLBACK= CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 14, | 214 | CEPH_OSD_OP_ROLLBACK= CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 14, |
| 207 | 215 | ||
| 216 | CEPH_OSD_OP_WATCH = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 15, | ||
| 217 | |||
| 208 | /** attrs **/ | 218 | /** attrs **/ |
| 209 | /* read */ | 219 | /* read */ |
| 210 | CEPH_OSD_OP_GETXATTR = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_ATTR | 1, | 220 | CEPH_OSD_OP_GETXATTR = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_ATTR | 1, |
| @@ -218,11 +228,14 @@ enum { | |||
| 218 | CEPH_OSD_OP_RMXATTR = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_ATTR | 4, | 228 | CEPH_OSD_OP_RMXATTR = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_ATTR | 4, |
| 219 | 229 | ||
| 220 | /** subop **/ | 230 | /** subop **/ |
| 221 | CEPH_OSD_OP_PULL = CEPH_OSD_OP_MODE_SUB | 1, | 231 | CEPH_OSD_OP_PULL = CEPH_OSD_OP_MODE_SUB | 1, |
| 222 | CEPH_OSD_OP_PUSH = CEPH_OSD_OP_MODE_SUB | 2, | 232 | CEPH_OSD_OP_PUSH = CEPH_OSD_OP_MODE_SUB | 2, |
| 223 | CEPH_OSD_OP_BALANCEREADS = CEPH_OSD_OP_MODE_SUB | 3, | 233 | CEPH_OSD_OP_BALANCEREADS = CEPH_OSD_OP_MODE_SUB | 3, |
| 224 | CEPH_OSD_OP_UNBALANCEREADS = CEPH_OSD_OP_MODE_SUB | 4, | 234 | CEPH_OSD_OP_UNBALANCEREADS = CEPH_OSD_OP_MODE_SUB | 4, |
| 225 | CEPH_OSD_OP_SCRUB = CEPH_OSD_OP_MODE_SUB | 5, | 235 | CEPH_OSD_OP_SCRUB = CEPH_OSD_OP_MODE_SUB | 5, |
| 236 | CEPH_OSD_OP_SCRUB_RESERVE = CEPH_OSD_OP_MODE_SUB | 6, | ||
| 237 | CEPH_OSD_OP_SCRUB_UNRESERVE = CEPH_OSD_OP_MODE_SUB | 7, | ||
| 238 | CEPH_OSD_OP_SCRUB_STOP = CEPH_OSD_OP_MODE_SUB | 8, | ||
| 226 | 239 | ||
| 227 | /** lock **/ | 240 | /** lock **/ |
| 228 | CEPH_OSD_OP_WRLOCK = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_LOCK | 1, | 241 | CEPH_OSD_OP_WRLOCK = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_LOCK | 1, |
| @@ -328,6 +341,8 @@ enum { | |||
| 328 | CEPH_OSD_CMPXATTR_MODE_U64 = 2 | 341 | CEPH_OSD_CMPXATTR_MODE_U64 = 2 |
| 329 | }; | 342 | }; |
| 330 | 343 | ||
| 344 | #define RADOS_NOTIFY_VER 1 | ||
| 345 | |||
| 331 | /* | 346 | /* |
| 332 | * an individual object operation. each may be accompanied by some data | 347 | * an individual object operation. each may be accompanied by some data |
| 333 | * payload | 348 | * payload |
| @@ -359,7 +374,12 @@ struct ceph_osd_op { | |||
| 359 | struct { | 374 | struct { |
| 360 | __le64 snapid; | 375 | __le64 snapid; |
| 361 | } __attribute__ ((packed)) snap; | 376 | } __attribute__ ((packed)) snap; |
| 362 | }; | 377 | struct { |
| 378 | __le64 cookie; | ||
| 379 | __le64 ver; | ||
| 380 | __u8 flag; /* 0 = unwatch, 1 = watch */ | ||
| 381 | } __attribute__ ((packed)) watch; | ||
| 382 | }; | ||
| 363 | __le32 payload_len; | 383 | __le32 payload_len; |
| 364 | } __attribute__ ((packed)); | 384 | } __attribute__ ((packed)); |
| 365 | 385 | ||
| @@ -402,4 +422,5 @@ struct ceph_osd_reply_head { | |||
| 402 | } __attribute__ ((packed)); | 422 | } __attribute__ ((packed)); |
| 403 | 423 | ||
| 404 | 424 | ||
| 425 | |||
| 405 | #endif | 426 | #endif |
