android_kernel_xiaomi_sm8350/net/ceph
Sage Weil 35f9f8a09e libceph: avoid unregistering osd request when not registered
There is a race between two __unregister_request() callers: the
reply path and the ceph_osdc_wait_request().  If we get a reply
*and* the timeout expires at roughly the same time, both callers
will try to unregister the request, and the second one will do bad
things.

Simply check if the request is still already unregistered; if so,
return immediately and do nothing.

Fixes http://tracker.newdream.net/issues/2420

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Alex Elder <elder@inktank.com>
2012-05-18 17:36:00 -07:00
..
crush crush: fix memory leak when destroying tree buckets 2012-05-07 15:39:36 -07:00
armor.c libceph: Fix base64-decoding when input ends in newline. 2011-03-15 09:14:02 -07:00
auth_none.c ceph: messenger: reduce args to create_authorizer 2012-05-17 08:18:12 -05:00
auth_none.h
auth_x_protocol.h
auth_x.c ceph: messenger: reduce args to create_authorizer 2012-05-17 08:18:12 -05:00
auth_x.h
auth.c ceph: Move secret key parsing earlier. 2011-03-29 12:11:16 -07:00
buffer.c net: allow GFP_HIGHMEM in __vmalloc() 2010-11-21 10:04:04 -08:00
ceph_common.c ceph: ensure Boolean options support both senses 2012-03-22 10:47:51 -05:00
ceph_fs.c ceph: fix file mode calculation 2011-07-19 11:25:04 -07:00
ceph_hash.c ceph: add dir_layout to inode 2011-01-12 15:15:12 -08:00
ceph_strings.c
crypto.c ceph: Use kmemdup rather than duplicating its implementation 2012-01-10 08:56:54 -08:00
crypto.h libceph: Create a new key type "ceph". 2011-03-29 12:11:24 -07:00
debugfs.c
Kconfig ceph: use kernel DNS resolver 2011-10-25 16:10:16 -07:00
Makefile Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-12-08 13:47:38 -08:00
messenger.c ceph: add auth buf in prepare_write_connect() 2012-05-18 17:35:59 -07:00
mon_client.c ceph: initialize client debugfs outside of monc->mutex 2012-02-02 12:49:01 -08:00
msgpool.c libceph: don't complain on msgpool alloc failures 2011-10-25 16:10:15 -07:00
osd_client.c libceph: avoid unregistering osd request when not registered 2012-05-18 17:36:00 -07:00
osdmap.c crush: warn on do_rule failure 2012-05-07 15:39:37 -07:00
pagelist.c ceph: fix num_pages_free accounting in pagelist 2010-10-20 15:38:23 -07:00
pagevec.c libceph: fix handling of short returns from get_user_pages 2011-03-03 13:47:39 -08:00