Ilya Dryomov
bb229bbb3b
libceph: wait for latest osdmap in ceph_monc_blacklist_add()
...
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: [email protected]
Fixes: 6305a3b415 ("libceph: support for blacklisting clients")
Signed-off-by: Ilya Dryomov <[email protected] >
Reviewed-by: Jason Dillaman <[email protected] >
2019-03-20 16:27:40 +01:00
..
crush
crush: fix using plain integer as NULL warning
2018-08-13 17:55:44 +02:00
armor.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
auth.c
libceph: add authorizer challenge
2018-08-02 21:33:24 +02:00
auth_none.c
ceph: fix whitespace
2018-08-02 21:33:21 +02:00
auth_none.h
ceph: fix whitespace
2018-08-02 21:33:21 +02:00
auth_x.c
libceph: weaken sizeof check in ceph_x_verify_authorizer_reply()
2018-08-02 21:33:26 +02:00
auth_x.h
ceph: fix whitespace
2018-08-02 21:33:21 +02:00
auth_x_protocol.h
libceph: add authorizer challenge
2018-08-02 21:33:24 +02:00
buffer.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
ceph_common.c
libceph: wait for latest osdmap in ceph_monc_blacklist_add()
2019-03-20 16:27:40 +01:00
ceph_fs.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
ceph_hash.c
ceph: mark expected switch fall-throughs
2017-11-13 12:11:39 +01:00
ceph_strings.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
cls_lock_client.c
libceph: use timespec64 in for keepalive2 and ticket validity
2018-08-02 21:26:12 +02:00
crypto.c
libceph: Remove VLA usage of skcipher
2018-09-28 12:46:07 +08:00
crypto.h
libceph: Remove VLA usage of skcipher
2018-09-28 12:46:07 +08:00
debugfs.c
libceph: allow setting abort_on_full for rbd
2019-01-07 22:47:48 +01:00
Kconfig
ceph: fix whitespace
2018-08-02 21:33:21 +02:00
Makefile
ceph: fix whitespace
2018-08-02 21:33:21 +02:00
messenger.c
libceph: handle an empty authorize reply
2019-02-18 18:05:33 +01:00
mon_client.c
libceph: wait for latest osdmap in ceph_monc_blacklist_add()
2019-03-20 16:27:40 +01:00
msgpool.c
libceph: preallocate message data items
2018-10-22 10:28:22 +02:00
osd_client.c
libceph: allow setting abort_on_full for rbd
2019-01-07 22:47:48 +01:00
osdmap.c
libceph: use struct_size() for kmalloc() in crush_decode()
2019-03-05 18:55:17 +01:00
pagelist.c
libceph: introduce ceph_pagelist_alloc()
2018-10-22 10:28:21 +02:00
pagevec.c
ceph: fix whitespace
2018-08-02 21:33:21 +02:00
snapshot.c
libceph: convert ceph_snap_context.nref from atomic_t to refcount_t
2017-05-04 09:19:18 +02:00
string_table.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
striper.c
libceph, ceph: move ceph_calc_file_object_mapping() to striper.c
2018-04-02 10:12:43 +02:00