libceph: change ceph_msg_data_cursor_init() to take cursor
authorIlya Dryomov <idryomov@gmail.com>
Wed, 4 Nov 2020 09:26:39 +0000 (10:26 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 14 Dec 2020 22:21:49 +0000 (23:21 +0100)
Make it possible to have local cursors and embed them outside struct
ceph_msg.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
net/ceph/messenger.c

index 922fa15..ca3f39b 100644 (file)
@@ -1170,10 +1170,9 @@ static void __ceph_msg_data_cursor_init(struct ceph_msg_data_cursor *cursor)
        cursor->need_crc = true;
 }
 
-static void ceph_msg_data_cursor_init(struct ceph_msg *msg, size_t length)
+static void ceph_msg_data_cursor_init(struct ceph_msg_data_cursor *cursor,
+                                     struct ceph_msg *msg, size_t length)
 {
-       struct ceph_msg_data_cursor *cursor = &msg->cursor;
-
        BUG_ON(!length);
        BUG_ON(length > msg->data_length);
        BUG_ON(!msg->num_data_items);
@@ -1278,7 +1277,7 @@ static void prepare_message_data(struct ceph_msg *msg, u32 data_len)
 {
        /* Initialize data cursor */
 
-       ceph_msg_data_cursor_init(msg, (size_t)data_len);
+       ceph_msg_data_cursor_init(&msg->cursor, msg, data_len);
 }
 
 /*