{
struct mdt_rec_setattr *rec = lustre_msg_buf(req->rq_reqmsg, offset,
sizeof(*rec));
+ struct lov_user_md *lum = NULL;
ENTRY;
rec->sa_opcode = REINT_SETATTR;
EXIT;
return;
}
- if (ea)
- memcpy(lustre_msg_buf(req->rq_reqmsg, offset + 3, ealen),
- ea, ealen);
+ lum = lustre_msg_buf(req->rq_reqmsg, offset + 3, ealen);
+ if (ea == NULL) { /* Remove LOV EA */
+ lum->lmm_magic = LOV_USER_MAGIC_V1;
+ lum->lmm_stripe_size = 0;
+ lum->lmm_stripe_count = 0;
+ lum->lmm_stripe_offset = (typeof(lum->lmm_stripe_offset))(-1);
+ } else {
+ memcpy(lum, ea, ealen);
+ }
if (ea2len == 0) {
EXIT;