+18
−18
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
This prevents a race between requests with a given snap context and header updates that free it. The osd client was already expecting the snap context to be reference counted, since it get()s it in ceph_osdc_build_request and put()s it when the request completes. Also remove the second down_read()/up_read() on header_rwsem in rbd_do_request, which wasn't actually preventing this race or protecting any other data. Signed-off-by:Josh Durgin <josh.durgin@dreamhost.com> Reviewed-by:
Alex Elder <elder@inktank.com>