]> git.baikalelectronics.ru Git - kernel.git/commit
libceph: put request only if it's done in handle_reply()
authorIlya Dryomov <idryomov@gmail.com>
Fri, 27 May 2016 13:18:34 +0000 (15:18 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 30 May 2016 21:00:23 +0000 (23:00 +0200)
commit6395c85506150195f26206e91b692694310ff6d2
treef2a0d74e082a7a359b470a40fe068dece067e42f
parent9c3cdd3e2eebb45f7aa74d5e504d65e34a863da0
libceph: put request only if it's done in handle_reply()

handle_reply() may be called twice on the same request: on ack and then
on commit.  This occurs on btrfs-formatted OSDs or if cephfs sync write
path is triggered - CEPH_OSD_FLAG_ACK | CEPH_OSD_FLAG_ONDISK.

handle_reply() handles this with the help of done_request().

Fixes: d816f873e36e ("libceph: a major OSD client update")
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
net/ceph/osd_client.c