-int mdc_setattr(struct lustre_handle *conn,
- struct inode *inode, struct iattr *iattr,
- struct ptlrpc_request **request)
+/* If mdc_setattr is called with an 'iattr', then it is a normal RPC that should
+ * take the normal semaphore and go to the normal portal.
+ *
+ * If it is called with iattr->ia_valid & ATTR_FROM_OPEN, then it is a magic
+ * open-path setattr that should take the setattr semaphore and go to the
+ * setattr portal. */
+int mdc_setattr(struct obd_export *exp, struct mdc_op_data *data,
+ struct iattr *iattr, void *ea, int ealen, void *ea2,
+ int ea2len, struct ptlrpc_request **request)