diff options
author | Yehuda Sadeh <yehuda@hq.newdream.net> | 2010-04-06 18:14:15 -0400 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-10-20 18:37:28 -0400 |
commit | 3d14c5d2b6e15c21d8e5467dc62d33127c23a644 (patch) | |
tree | 7d123c47847df9d1e865b6b78dc7da3fe739b704 /fs/ceph/auth_x.h | |
parent | ae1533b62b3369e6ae32338f4a77d64d0e88f676 (diff) |
ceph: factor out libceph from Ceph file system
This factors out protocol and low-level storage parts of ceph into a
separate libceph module living in net/ceph and include/linux/ceph. This
is mostly a matter of moving files around. However, a few key pieces
of the interface change as well:
- ceph_client becomes ceph_fs_client and ceph_client, where the latter
captures the mon and osd clients, and the fs_client gets the mds client
and file system specific pieces.
- Mount option parsing and debugfs setup is correspondingly broken into
two pieces.
- The mon client gets a generic handler callback for otherwise unknown
messages (mds map, in this case).
- The basic supported/required feature bits can be expanded (and are by
ceph_fs_client).
No functional change, aside from some subtle error handling cases that got
cleaned up in the refactoring process.
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/auth_x.h')
-rw-r--r-- | fs/ceph/auth_x.h | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/fs/ceph/auth_x.h b/fs/ceph/auth_x.h deleted file mode 100644 index ff6f8180e68..00000000000 --- a/fs/ceph/auth_x.h +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | #ifndef _FS_CEPH_AUTH_X_H | ||
2 | #define _FS_CEPH_AUTH_X_H | ||
3 | |||
4 | #include <linux/rbtree.h> | ||
5 | |||
6 | #include "crypto.h" | ||
7 | #include "auth.h" | ||
8 | #include "auth_x_protocol.h" | ||
9 | |||
10 | /* | ||
11 | * Handle ticket for a single service. | ||
12 | */ | ||
13 | struct ceph_x_ticket_handler { | ||
14 | struct rb_node node; | ||
15 | unsigned service; | ||
16 | |||
17 | struct ceph_crypto_key session_key; | ||
18 | struct ceph_timespec validity; | ||
19 | |||
20 | u64 secret_id; | ||
21 | struct ceph_buffer *ticket_blob; | ||
22 | |||
23 | unsigned long renew_after, expires; | ||
24 | }; | ||
25 | |||
26 | |||
27 | struct ceph_x_authorizer { | ||
28 | struct ceph_buffer *buf; | ||
29 | unsigned service; | ||
30 | u64 nonce; | ||
31 | char reply_buf[128]; /* big enough for encrypted blob */ | ||
32 | }; | ||
33 | |||
34 | struct ceph_x_info { | ||
35 | struct ceph_crypto_key secret; | ||
36 | |||
37 | bool starting; | ||
38 | u64 server_challenge; | ||
39 | |||
40 | unsigned have_keys; | ||
41 | struct rb_root ticket_handlers; | ||
42 | |||
43 | struct ceph_x_authorizer auth_authorizer; | ||
44 | }; | ||
45 | |||
46 | extern int ceph_x_init(struct ceph_auth_client *ac); | ||
47 | |||
48 | #endif | ||
49 | |||