diff options
Diffstat (limited to 'fs/ceph/msgpool.c')
-rw-r--r-- | fs/ceph/msgpool.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ceph/msgpool.c b/fs/ceph/msgpool.c index 2f04e0fc4666..ca3b44a89f2d 100644 --- a/fs/ceph/msgpool.c +++ b/fs/ceph/msgpool.c | |||
@@ -166,6 +166,10 @@ void ceph_msgpool_put(struct ceph_msgpool *pool, struct ceph_msg *msg) | |||
166 | { | 166 | { |
167 | spin_lock(&pool->lock); | 167 | spin_lock(&pool->lock); |
168 | if (pool->num < pool->min) { | 168 | if (pool->num < pool->min) { |
169 | /* reset msg front_len; user may have changed it */ | ||
170 | msg->front.iov_len = pool->front_len; | ||
171 | msg->hdr.front_len = cpu_to_le32(pool->front_len); | ||
172 | |||
169 | kref_set(&msg->kref, 1); /* retake a single ref */ | 173 | kref_set(&msg->kref, 1); /* retake a single ref */ |
170 | list_add(&msg->list_head, &pool->msgs); | 174 | list_add(&msg->list_head, &pool->msgs); |
171 | pool->num++; | 175 | pool->num++; |