Whamcloud - gitweb
LU-3539 osp: Fix a series of UPDATE_OBJ endianness bugs
[fs/lustre-release.git] / lustre / target / out_handler.c
index efc8b41..55e826d 100644 (file)
@@ -211,7 +211,8 @@ static int out_create(struct tgt_session_info *tsi)
                RETURN(err_serious(-EPROTO));
        }
 
-       obdo_le_to_cpu(wobdo, wobdo);
+       if (ptlrpc_req_need_swab(tsi->tsi_pill->rc_req))
+               lustre_swab_obdo(wobdo);
        lustre_get_wire_obdo(NULL, lobdo, wobdo);
        la_from_obdo(attr, lobdo, lobdo->o_valid);
 
@@ -323,7 +324,9 @@ static int out_attr_set(struct tgt_session_info *tsi)
 
        attr->la_valid = 0;
        attr->la_valid = 0;
-       obdo_le_to_cpu(wobdo, wobdo);
+
+       if (ptlrpc_req_need_swab(tsi->tsi_pill->rc_req))
+               lustre_swab_obdo(wobdo);
        lustre_get_wire_obdo(NULL, lobdo, wobdo);
        la_from_obdo(attr, lobdo, lobdo->o_valid);
 
@@ -399,7 +402,6 @@ static int out_attr_get(struct tgt_session_info *tsi)
 
        obdo->o_valid = 0;
        obdo_from_la(obdo, la, la->la_valid);
-       obdo_cpu_to_le(obdo, obdo);
        lustre_set_wire_obdo(NULL, obdo, obdo);
 
 out_unlock: