]> 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)
commit5d2c6dfdcfbea66a4e49aaffffceb3d52d2489cc
treef2a0d74e082a7a359b470a40fe068dece067e42f
parent439478199e5456c39cf610112b30adde83f3d7f3
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: 5ffe916540ed ("libceph: a major OSD client update")
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
net/ceph/osd_client.c