From b25c3aedde336822cf58c6ac72d53799244e60bc Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Wed, 12 Mar 2014 05:54:38 -0700 Subject: [PATCH] We only need to spend CPU computing a new error string IFF there was an error when unmarshalling the reply. --- lib/libnfs-zdr.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/libnfs-zdr.c b/lib/libnfs-zdr.c index 7c971e0..c32f661 100644 --- a/lib/libnfs-zdr.c +++ b/lib/libnfs-zdr.c @@ -456,16 +456,18 @@ static bool_t libnfs_rpc_msg(struct rpc_context *rpc, ZDR *zdrs, struct rpc_msg switch (msg->direction) { case CALL: ret = libnfs_rpc_call_body(rpc, zdrs, &msg->body.cbody); - rpc_set_error(rpc, "libnfs_rpc_msg failed to encode CALL, " - "ret=%d: %s", ret, rpc_get_error(rpc)); + if (!ret) { + rpc_set_error(rpc, "libnfs_rpc_msg failed to encode " + "CALL, ret=%d: %s", ret, rpc_get_error(rpc)); + } return ret; - break; case REPLY: ret = libnfs_rpc_reply_body(rpc, zdrs, &msg->body.rbody); - rpc_set_error(rpc, "libnfs_rpc_msg failed to decode REPLY, " - "ret=%d: %s", ret, rpc_get_error(rpc)); + if (!ret) { + rpc_set_error(rpc, "libnfs_rpc_msg failed to decode " + "REPLY, ret=%d: %s", ret, rpc_get_error(rpc)); + } return ret; - break; default: rpc_set_error(rpc, "libnfs_rpc_msg failed to decode. " "Neither CALL not REPLY"); -- 2.34.1