Ilya Dryomov
9c32ada4c0
libceph: wait for latest osdmap in ceph_monc_blacklist_add()
...
commit bb229bbb3bf63d23128e851a1f3b85c083178fa1 upstream.
Because map updates are distributed lazily, an OSD may not know about
the new blacklist for quite some time after "osd blacklist add" command
is completed. This makes it possible for a blacklisted but still alive
client to overwrite a post-blacklist update, resulting in data
corruption.
Waiting for latest osdmap in ceph_monc_blacklist_add() and thus using
the post-blacklist epoch for all post-blacklist requests ensures that
all such requests "wait" for the blacklist to come into force on their
respective OSDs.
Cc: stable@vger.kernel.org
Fixes: 6305a3b415 ("libceph: support for blacklisting clients")
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-03-27 14:13:02 +09:00
..
crush
crush: remove redundant local variable
2016-10-05 23:02:10 +02:00
armor.c
libceph: Fix base64-decoding when input ends in newline.
2011-03-15 09:14:02 -07:00
auth.c
libceph: add authorizer challenge
2018-12-08 13:05:10 +01:00
auth_none.c
libceph: rename ceph_entity_name_encode() -> ceph_auth_entity_name_encode()
2016-08-24 23:49:15 +02:00
auth_none.h
libceph: make authorizer destruction independent of ceph_auth_client
2016-04-25 20:54:13 +02:00
auth_x.c
libceph: fix CEPH_FEATURE_CEPHX_V2 check in calc_signature()
2019-01-13 10:03:50 +01:00
auth_x.h
libceph: rename and align ceph_x_authorizer::reply_buf
2017-01-26 08:24:41 +01:00
auth_x_protocol.h
libceph: add authorizer challenge
2018-12-08 13:05:10 +01:00
buffer.c
libceph: nuke ceph_kvfree()
2014-12-17 20:09:50 +03:00
ceph_common.c
libceph: wait for latest osdmap in ceph_monc_blacklist_add()
2019-03-27 14:13:02 +09:00
ceph_fs.c
libceph: fix legacy layout decode with pool 0
2016-11-10 20:13:08 +01:00
ceph_hash.c
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
ceph_strings.c
rbd: support for exclusive-lock feature
2016-08-24 23:49:16 +02:00
cls_lock_client.c
libceph: support for lock.lock_info
2016-08-24 23:49:15 +02:00
crypto.c
libceph: don't WARN() if user tries to add invalid key
2017-11-30 08:39:03 +00:00
crypto.h
libceph: stop allocating a new cipher on every crypto request
2017-01-26 08:24:46 +01:00
debugfs.c
libceph: rados pool namespace support
2016-07-28 02:55:37 +02:00
Kconfig
libceph: select CRYPTO_CBC in addition to CRYPTO_AES
2014-10-14 21:03:20 +04:00
Makefile
libceph: support for advisory locking on RADOS objects
2016-08-24 23:49:15 +02:00
messenger.c
libceph: handle an empty authorize reply
2019-02-27 10:06:57 +01:00
mon_client.c
libceph: wait for latest osdmap in ceph_monc_blacklist_add()
2019-03-27 14:13:02 +09:00
msgpool.c
libceph: fix some missing includes
2016-07-28 02:55:35 +02:00
osd_client.c
libceph: add authorizer challenge
2018-12-08 13:05:10 +01:00
osdmap.c
libceph: NULL deref on crush_decode() error path
2018-04-13 19:48:05 +02:00
pagelist.c
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
pagevec.c
mm: replace get_user_pages_unlocked() write/force parameters with gup_flags
2016-10-18 14:13:37 -07:00
snapshot.c
libceph: create source file "net/ceph/snapshot.c"
2013-05-01 21:20:08 -07:00
string_table.c
libceph: using kfree_rcu() to simplify the code
2016-08-08 21:41:42 +02:00