mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 16:24:13 +08:00
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:
parent
f759ebb968
commit
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;
|
||||
|
Loading…
Reference in New Issue
Block a user