libceph: record bio length
The bio is the only data item type that doesn't record its full length. Fix that. Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
This commit is contained in:
Родитель
f759ebb968
Коммит
c851c49591
|
@ -116,7 +116,10 @@ struct ceph_msg_data {
|
|||
enum ceph_msg_data_type type;
|
||||
union {
|
||||
#ifdef CONFIG_BLOCK
|
||||
struct bio *bio;
|
||||
struct {
|
||||
struct bio *bio;
|
||||
size_t bio_length;
|
||||
};
|
||||
#endif /* CONFIG_BLOCK */
|
||||
struct {
|
||||
struct page **pages; /* NOT OWNER. */
|
||||
|
|
|
@ -3032,6 +3032,7 @@ void ceph_msg_data_set_bio(struct ceph_msg *msg, struct bio *bio,
|
|||
data = ceph_msg_data_create(CEPH_MSG_DATA_BIO);
|
||||
BUG_ON(!data);
|
||||
data->bio = bio;
|
||||
data->bio_length = length;
|
||||
|
||||
msg->data = data;
|
||||
msg->data_length = length;
|
||||
|
|
Загрузка…
Ссылка в новой задаче