diff options
author | Sage Weil <sage@newdream.net> | 2009-12-23 12:12:31 -0800 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2009-12-23 12:12:31 -0800 |
commit | 58bb3b374b07a2a43315213f00a48a5ffd6d0915 (patch) | |
tree | 04599b1f6c5f8bf501a1070b5ab7269a9a97fece /fs/ceph/messenger.h | |
parent | 04a419f908b5291ff7e8ffd7aa351fa0ac0c08af (diff) | |
download | kernel_samsung_smdk4412-58bb3b374b07a2a43315213f00a48a5ffd6d0915.zip kernel_samsung_smdk4412-58bb3b374b07a2a43315213f00a48a5ffd6d0915.tar.gz kernel_samsung_smdk4412-58bb3b374b07a2a43315213f00a48a5ffd6d0915.tar.bz2 |
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 7e2aab1..a7b6841 100644 --- a/fs/ceph/messenger.h +++ b/fs/ceph/messenger.h @@ -85,6 +85,7 @@ struct ceph_msg { struct ceph_buffer *middle; struct page **pages; /* data payload. NOT OWNER. */ unsigned nr_pages; /* size of page array */ + struct ceph_pagelist *pagelist; /* instead of pages */ struct list_head list_head; struct kref kref; bool front_is_vmalloc; |