used in production.
Severity : normal
+Bugzilla : 19934
+Description: correctly send lsm on open replay
+Details : MDS is trust to LSM size on replay open, but client can set wrong size
+ of lsm buffer.
+
+Severity : normal
Bugzilla : 20321
Description: Deadlock between filter_destroy() and filter_commitrw_write().
Details : filter_destroy() does not hold the DLM lock over the whole
old_size = lustre_packed_msg_size(old_msg);
lustre_msg_set_buflen(old_msg, DLM_INTENT_REC_OFF + offset,
body->eadatasize);
+ /* old buffer is more then need */
+ if (old_len > body->eadatasize)
+ return;
+
new_size = lustre_packed_msg_size(old_msg);
OBD_ALLOC(new_msg, new_size);
else
offset += 2;
- if (lustre_msg_buflen(req->rq_reqmsg, offset) <
+ if (lustre_msg_buflen(req->rq_reqmsg, offset) !=
body->eadatasize)
mdc_realloc_openmsg(req, body);
lmm_size = rec->ur_eadatalen;
lmm = rec->ur_eadata;
LASSERT(lmm);
+ LASSERT(lov_mds_md_size(lmm->lmm_stripe_count,
+ lmm->lmm_magic) == lmm_size);
if (*handle == NULL) {
int stripe_count = le32_to_cpu(lmm->lmm_stripe_count);