- size = sizeof(struct mds_body);
- req->rq_replen = lustre_msg_size(1, &size);
+ if (iattr->ia_valid & ATTR_FROM_OPEN) {
+ req->rq_request_portal = MDS_SETATTR_PORTAL; //XXX FIXME bug 249
+ rpc_lock = obd->u.cli.cl_setattr_lock;
+ } else {
+ rpc_lock = obd->u.cli.cl_rpc_lock;
+ }
+
+ if (iattr->ia_valid & (ATTR_MTIME | ATTR_CTIME))
+ CDEBUG(D_INODE, "setting mtime %lu, ctime %lu\n",
+ LTIME_S(iattr->ia_mtime), LTIME_S(iattr->ia_ctime));
+ mdc_setattr_pack(req->rq_reqmsg, 1, data, iattr, ea, ealen,
+ ea2, ea2len);
+
+ size[0] = sizeof(struct mds_body);
+ req->rq_replen = lustre_msg_size(1, size);