diff options
author | Ilya Dryomov <idryomov@gmail.com> | 2017-06-15 17:30:54 +0300 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2017-07-07 18:25:16 +0300 |
commit | 7de030d6b10a56e991312a978ace6be3c090097c (patch) | |
tree | 216a8491662a79544bf10879b8d6eb0d9b6f3be4 /net/ceph/osdmap.c | |
parent | 84ed45df4604ae9b1065b5fe2f250f57f7c69baf (diff) | |
download | linux-7de030d6b10a56e991312a978ace6be3c090097c.tar.xz |
libceph: resend on PG splits if OSD has RESEND_ON_SPLIT
Note that ceph_osd_request_target fields are updated regardless of
RESEND_ON_SPLIT.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'net/ceph/osdmap.c')
-rw-r--r-- | net/ceph/osdmap.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/ceph/osdmap.c b/net/ceph/osdmap.c index a4155620eace..367879afed58 100644 --- a/net/ceph/osdmap.c +++ b/net/ceph/osdmap.c @@ -1753,9 +1753,8 @@ void ceph_osds_copy(struct ceph_osds *dest, const struct ceph_osds *src) dest->primary = src->primary; } -static bool is_split(const struct ceph_pg *pgid, - u32 old_pg_num, - u32 new_pg_num) +bool ceph_pg_is_split(const struct ceph_pg *pgid, u32 old_pg_num, + u32 new_pg_num) { int old_bits = calc_bits_of(old_pg_num); int old_mask = (1 << old_bits) - 1; @@ -1800,7 +1799,7 @@ bool ceph_is_new_interval(const struct ceph_osds *old_acting, !osds_equal(old_up, new_up) || old_size != new_size || old_min_size != new_min_size || - is_split(pgid, old_pg_num, new_pg_num) || + ceph_pg_is_split(pgid, old_pg_num, new_pg_num) || old_sort_bitwise != new_sort_bitwise; } |