diff options
author | Ilya Dryomov <idryomov@gmail.com> | 2018-10-15 17:38:23 +0200 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2018-10-22 10:28:22 +0200 |
commit | 0d9c1ab3be4c0187663096a6a084421d0a1e45c6 (patch) | |
tree | 06a57638913d5badd76fe695bcb4f08992f55579 /fs/nfsd | |
parent | 26f887e0a3c43f67b550e2e5d8a76e86ca11d188 (diff) |
libceph: preallocate message data items
Currently message data items are allocated with ceph_msg_data_create()
in setup_request_data() inside send_request(). send_request() has never
been allowed to fail, so each allocation is followed by a BUG_ON:
data = ceph_msg_data_create(...);
BUG_ON(!data);
It's been this way since support for multiple message data items was
added in commit 6644ed7b7e04 ("libceph: make message data be a pointer")
in 3.10.
There is no reason to delay the allocation of message data items until
the last possible moment and we certainly don't need a linked list of
them as they are only ever appended to the end and never erased. Make
ceph_msg_new2() take max_data_items and adapt the rest of the code.
Reported-by: Jerry Lee <leisurelysw24@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs/nfsd')
0 files changed, 0 insertions, 0 deletions