aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/messenger.h
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-12-23 15:12:31 -0500
committerSage Weil <sage@newdream.net>2009-12-23 15:12:31 -0500
commit58bb3b374b07a2a43315213f00a48a5ffd6d0915 (patch)
tree04599b1f6c5f8bf501a1070b5ab7269a9a97fece /fs/ceph/messenger.h
parent04a419f908b5291ff7e8ffd7aa351fa0ac0c08af (diff)
ceph: support ceph_pagelist for message payload
The ceph_pagelist is a simple list of whole pages, strung together via their lru list_head. It facilitates encoding to a "buffer" of unknown size. Allow its use in place of the ceph_msg page vector. This will be used to fix the huge buffer preallocation woes of MDS reconnection. Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/messenger.h')
-rw-r--r--fs/ceph/messenger.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ceph/messenger.h b/fs/ceph/messenger.h
index 7e2aab1d3ce2..a7b684145092 100644
--- a/fs/ceph/messenger.h
+++ b/fs/ceph/messenger.h
@@ -85,6 +85,7 @@ struct ceph_msg {
85 struct ceph_buffer *middle; 85 struct ceph_buffer *middle;
86 struct page **pages; /* data payload. NOT OWNER. */ 86 struct page **pages; /* data payload. NOT OWNER. */
87 unsigned nr_pages; /* size of page array */ 87 unsigned nr_pages; /* size of page array */
88 struct ceph_pagelist *pagelist; /* instead of pages */
88 struct list_head list_head; 89 struct list_head list_head;
89 struct kref kref; 90 struct kref kref;
90 bool front_is_vmalloc; 91 bool front_is_vmalloc;