Fix PG state comparison leading to unclean PGs not flushing
(a & b == b) -> ((a & b) == b) !
This commit is contained in:
+2
-2
@@ -174,7 +174,7 @@ void osd_t::handle_peers()
|
||||
misplaced_objects += p.second.misplaced_objects.size();
|
||||
// FIXME: degraded objects may currently include misplaced, too! Report them separately?
|
||||
degraded_objects += p.second.degraded_objects.size();
|
||||
if (p.second.state & (PG_ACTIVE | PG_HAS_UNCLEAN) == (PG_ACTIVE | PG_HAS_UNCLEAN))
|
||||
if ((p.second.state & (PG_ACTIVE | PG_HAS_UNCLEAN)) == (PG_ACTIVE | PG_HAS_UNCLEAN))
|
||||
peering_state = peering_state | OSD_FLUSHING_PGS;
|
||||
else
|
||||
peering_state = peering_state | OSD_RECOVERING;
|
||||
@@ -196,7 +196,7 @@ void osd_t::handle_peers()
|
||||
bool still = false;
|
||||
for (auto & p: pgs)
|
||||
{
|
||||
if (p.second.state & (PG_ACTIVE | PG_HAS_UNCLEAN) == (PG_ACTIVE | PG_HAS_UNCLEAN))
|
||||
if ((p.second.state & (PG_ACTIVE | PG_HAS_UNCLEAN)) == (PG_ACTIVE | PG_HAS_UNCLEAN))
|
||||
{
|
||||
if (!p.second.flush_batch)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user