diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
index 5e254055c91086287cd0d96091cb2eac50fecc38..daa2716a0c3027f2d5d1fe58b7349c4d1361bfe5 100644
--- a/net/ceph/osd_client.c
+++ b/net/ceph/osd_client.c
@@ -278,7 +278,7 @@ static void osd_req_encode_op(struct ceph_osd_request *req,
 {
 	dst->op = cpu_to_le16(src->op);
 
-	switch (dst->op) {
+	switch (src->op) {
 	case CEPH_OSD_OP_READ:
 	case CEPH_OSD_OP_WRITE:
 		dst->extent.offset =