libceph: fix wrong opcode use in osd_req_encode_op()
authorAlex Elder <elder@inktank.com>
Mon, 4 Mar 2013 17:08:29 +0000 (11:08 -0600)
committerSage Weil <sage@inktank.com>
Thu, 2 May 2013 04:16:13 +0000 (21:16 -0700)
The new cases added to osd_req_encode_op() caused a new sparse
error, which highlighted an existing problem that had been
overlooked since it was originally checked in.  When an unsupported
opcode is found the destination rather than the source opcode was
being used in the error message.  The two differ in their byte
order, and we want to be using the one in the source.

Fix the problem in both spots.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
net/ceph/osd_client.c

index a28c976ae3aebdfceefbe7d288a5e821d43123bf..d7ce457c59d91b80b0758e28c62cdf0561449f8d 100644 (file)
@@ -249,7 +249,7 @@ static void osd_req_encode_op(struct ceph_osd_request *req,
                dst->watch.flag = src->watch.flag;
                break;
        default:
-               pr_err("unrecognized osd opcode %d\n", dst->op);
+               pr_err("unrecognized osd opcode %d\n", src->op);
                WARN_ON(1);
                break;
        case CEPH_OSD_OP_MAPEXT:
@@ -307,7 +307,7 @@ static void osd_req_encode_op(struct ceph_osd_request *req,
        case CEPH_OSD_OP_PGLS:
        case CEPH_OSD_OP_PGLS_FILTER:
                pr_err("unsupported osd opcode %s\n",
-                       ceph_osd_op_name(dst->op));
+                       ceph_osd_op_name(src->op));
                WARN_ON(1);
                break;
        }