middle_len
msg->hdr.middle_len = cpu_to_le32(arg->xattr_buf->vec.iov_len);
ssize_t middle_len; /* Length for DIO-aligned middle extent */
local_dio->middle_len = middle_end - start_end;
total, local_dio->start_len, local_dio->middle_len);
local_dio->start_len, local_dio->middle_len, local_dio);
local_dio->middle_len, local_dio->end_len);
__field(ssize_t, middle_len)
__entry->middle_len = local_dio->middle_len;
__entry->middle, __entry->middle_len,
__le32 middle_len;/* bytes in middle payload */
__le32 middle_len;/* bytes in middle payload */
__le32 middle_len;
sigblock->middle_len = msg->hdr.middle_len;
le32_to_cpu(msg->hdr.middle_len),
le32_to_cpu(msg->hdr.middle_len),
int middle_len = le32_to_cpu(msg->hdr.middle_len);
ceph_msg_type_name(type), middle_len);
BUG_ON(!middle_len);
msg->middle = ceph_buffer_new(middle_len, GFP_NOFS);
int middle_len = le32_to_cpu(hdr->middle_len);
if (middle_len && !con->in_msg->middle) {
unsigned int front_len, middle_len, data_len;
middle_len = le32_to_cpu(con->v1.in_hdr.middle_len);
if (middle_len > CEPH_MSG_MAX_MIDDLE_LEN)
con->v1.in_base_pos = -front_len - middle_len - data_len -
con->v1.in_base_pos = -front_len - middle_len -
middle_len,
m, front_len, m->footer.front_crc, middle_len,
unsigned int middle_len = le32_to_cpu(con->v1.in_hdr.middle_len);
middle_len -
le32_to_cpu(m->hdr.front_len), le32_to_cpu(m->hdr.middle_len),
if (middle_len(msg))
init_sgs(&cur_sg, msg->middle->vec.iov_base, middle_len(msg),
dpos = padded_len(front_len(con->in_msg) + padded_len(middle_len(con->in_msg)));
if (!front_len(msg) && !middle_len(msg)) {
if (middle_len(msg)) {
crc32c(-1, msg->middle->vec.iov_base, middle_len(msg));
add_out_kvec(con, msg->middle->vec.iov_base, middle_len(msg));
middle_len(msg),
if (!front_len(msg) && !middle_len(msg)) {
if (middle_len(msg)) {
add_in_kvec(con, msg->middle->vec.iov_base, middle_len(msg));
WARN_ON(msg->middle->vec.iov_len != middle_len(msg));
if (middle_len(msg)) {
WARN_ON(middle_len(msg) > msg->middle->alloc_len);
msg->middle->vec.iov_len = middle_len(msg);
if (!front_len(msg) && !middle_len(msg) && !data_len(msg))
WARN_ON(!resid || resid > middle_len(msg));
sent = middle_len(msg) - resid;
boundary = front_len(msg) + middle_len(msg);
if (middle_len(msg))
prepare_zero_middle(con, msg, middle_len(msg));
boundary = middle_len(msg);
if (middle_len(msg))
prepare_zero_middle(con, msg, middle_len(msg));
if (!front_len(msg) && !middle_len(msg) &&
boundary = front_len(msg) + middle_len(msg) +
if (middle_len(msg))
prepare_zero_middle(con, msg, middle_len(msg));
boundary = middle_len(msg) + CEPH_EPILOGUE_PLAIN_LEN;
if (middle_len(msg))
prepare_zero_middle(con, msg, middle_len(msg));
return le32_to_cpu(msg->hdr.middle_len);
static int __tail_onwire_len(int front_len, int middle_len, int data_len,
middle_len < 0 || middle_len > CEPH_MSG_MAX_MIDDLE_LEN ||
if (!front_len && !middle_len && !data_len)
return front_len + middle_len + data_len +
return padded_len(front_len) + padded_len(middle_len) +
return __tail_onwire_len(front_len(msg), middle_len(msg),
int front_len, int middle_len, int data_len,
hdr->middle_len = cpu_to_le32(middle_len);
WARN_ON(!middle_len(con->in_msg) && !data_len(con->in_msg));
if (middle_len(con->in_msg))
middle_len(con->in_msg));
if (!front_len(msg) && !middle_len(msg) && !data_len(msg))
if (middle_len(msg))
middle_len(msg));
le32_to_cpu(msg->hdr.middle_len), le32_to_cpu(msg->hdr.data_len),