]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commitdiff
rbd: don't bother setting snapid in rbd_do_request()
authorAlex Elder <elder@inktank.com>
Fri, 9 Nov 2012 18:50:10 +0000 (12:50 -0600)
committerAlex Elder <elder@inktank.com>
Mon, 19 Nov 2012 23:37:49 +0000 (17:37 -0600)
For some reason, the snapid field of the osd request header is
explicitly set to CEPH_NOSNAP in rbd_do_request().  Just a few lines
later--with no code that would access this field in between--a call
is made to ceph_calc_raw_layout() passing the snapid provided to
rbd_do_request(), which encodes the snapid value it is provided into
that field instead.

In other words, there is no need to fill in CEPH_NOSNAP, and doing
so suggests it might be necessary.  Don't do that any more.

Signed-off-by: Alex Elder <elder@inktank.com>
drivers/block/rbd.c

index b3d25c34f012c00b30a0189ed97e77b5dc855d17..cd51216e27286d75592eb6a1fbf04793aeec873a 100644 (file)
@@ -1134,7 +1134,6 @@ static int rbd_do_request(struct request *rq,
        u64 bno;
        struct timespec mtime = CURRENT_TIME;
        struct rbd_request *rbd_req;
-       struct ceph_osd_request_head *reqhead;
        struct ceph_osd_client *osdc;
 
        rbd_req = kzalloc(sizeof(*rbd_req), GFP_NOIO);
@@ -1167,9 +1166,6 @@ static int rbd_do_request(struct request *rq,
 
        osd_req->r_priv = rbd_req;
 
-       reqhead = osd_req->r_request->front.iov_base;
-       reqhead->snapid = cpu_to_le64(CEPH_NOSNAP);
-
        strncpy(osd_req->r_oid, object_name, sizeof(osd_req->r_oid));
        osd_req->r_oid_len = strlen(osd_req->r_oid);