ceph: handle SESSION_FORCE_RO message
[deliverable/linux.git] / fs / ceph / mds_client.h
index 3288359353e9b84783a0d5ef65c06141398e625c..a87b92f500bbc11809e24c678261883cde8bca37 100644 (file)
@@ -41,6 +41,9 @@ struct ceph_mds_reply_info_in {
        char *symlink;
        u32 xattr_len;
        char *xattr_data;
+       u64 inline_version;
+       u32 inline_len;
+       char *inline_data;
 };
 
 /*
@@ -134,6 +137,7 @@ struct ceph_mds_session {
        int               s_nr_caps, s_trim_caps;
        int               s_num_cap_releases;
        int               s_cap_reconnect;
+       int               s_readonly;
        struct list_head  s_cap_releases; /* waiting cap_release messages */
        struct list_head  s_cap_releases_done; /* ready to send */
        struct ceph_cap  *s_cap_iterator;
@@ -166,6 +170,11 @@ struct ceph_mds_client;
  */
 typedef void (*ceph_mds_request_callback_t) (struct ceph_mds_client *mdsc,
                                             struct ceph_mds_request *req);
+/*
+ * wait for request completion callback
+ */
+typedef int (*ceph_mds_request_wait_callback_t) (struct ceph_mds_client *mdsc,
+                                                struct ceph_mds_request *req);
 
 /*
  * an in-flight mds request
@@ -215,6 +224,7 @@ struct ceph_mds_request {
        int r_request_release_offset;
        struct ceph_msg  *r_reply;
        struct ceph_mds_reply_info_parsed r_reply_info;
+       struct page *r_locked_page;
        int r_err;
        bool r_aborted;
 
@@ -239,6 +249,7 @@ struct ceph_mds_request {
        struct completion r_completion;
        struct completion r_safe_completion;
        ceph_mds_request_callback_t r_callback;
+       ceph_mds_request_wait_callback_t r_wait_for_completion;
        struct list_head  r_unsafe_item;  /* per-session unsafe list item */
        bool              r_got_unsafe, r_got_safe, r_got_result;
 
This page took 0.039606 seconds and 5 git commands to generate.