diff options
author | Sage Weil <sage@newdream.net> | 2009-12-23 15:12:31 -0500 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2009-12-23 15:12:31 -0500 |
commit | 58bb3b374b07a2a43315213f00a48a5ffd6d0915 (patch) | |
tree | 04599b1f6c5f8bf501a1070b5ab7269a9a97fece /fs/ceph/messenger.h | |
parent | 04a419f908b5291ff7e8ffd7aa351fa0ac0c08af (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.h | 1 |
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; |