diff options
Diffstat (limited to '')
| -rw-r--r-- | net/ceph/mon_client.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/net/ceph/mon_client.c b/net/ceph/mon_client.c index 067d3af2eaf6..61fcfc304f68 100644 --- a/net/ceph/mon_client.c +++ b/net/ceph/mon_client.c @@ -1181,7 +1181,15 @@ static struct ceph_msg *mon_alloc_msg(struct ceph_connection *con,  	if (!m) {  		pr_info("alloc_msg unknown type %d\n", type);  		*skip = 1; +	} else if (front_len > m->front_alloc_len) { +		pr_warning("mon_alloc_msg front %d > prealloc %d (%u#%llu)\n", +			   front_len, m->front_alloc_len, +			   (unsigned int)con->peer_name.type, +			   le64_to_cpu(con->peer_name.num)); +		ceph_msg_put(m); +		m = ceph_msg_new(type, front_len, GFP_NOFS, false);  	} +  	return m;  }  | 
