- LASSERT(qdata);
-
- /* support for quota64 and change_qs */
- if (flags & OBD_CONNECT_CHANGE_QS) {
- if (!(flags & OBD_CONNECT_QUOTA64)) {
- CDEBUG(D_ERROR, "Wire protocol for qunit is broken!\n");
- return -EINVAL;
- }
- if (is_req == QUOTA_REQUEST)
- new = lustre_swab_reqbuf(req, REQ_REC_OFF,
- sizeof(struct qunit_data),
- lustre_swab_qdata);
- else
- new = lustre_swab_repbuf(req, REPLY_REC_OFF,
- sizeof(struct qunit_data),
- lustre_swab_qdata);
- if (new == NULL)
- GOTO(out, rc = -EPROTO);
- *qdata = *new;
- QDATA_SET_CHANGE_QS(qdata);
- return 0;
- } else {
- QDATA_CLR_CHANGE_QS(qdata);
- }
-
-out:
- return rc;
+ /* support for quota64 */
+ LASSERT(flags & OBD_CONNECT_QUOTA64);
+ /* support for change_qs */
+ LASSERT(flags & OBD_CONNECT_CHANGE_QS);
+
+ if (is_req == QUOTA_REQUEST)
+ qdata = lustre_swab_reqbuf(req, REQ_REC_OFF,
+ sizeof(struct qunit_data),
+ lustre_swab_qdata);
+ else
+ qdata = lustre_swab_repbuf(req, REPLY_REC_OFF,
+ sizeof(struct qunit_data),
+ lustre_swab_qdata);
+ if (qdata == NULL)
+ return ERR_PTR(-EPROTO);
+
+ QDATA_SET_CHANGE_QS(qdata);
+ return qdata;