if (is_auth()) {
::encode(inode.version, bl);
} else {
- bool dirty = dirfragtreelock.is_dirty();
+ // treat flushing as dirty when rejoining cache
+ bool dirty = dirfragtreelock.is_dirty_or_flushing();
::encode(dirty, bl);
}
{
::encode(inode.inline_version, bl);
}
} else {
- bool dirty = filelock.is_dirty();
+ // treat flushing as dirty when rejoining cache
+ bool dirty = filelock.is_dirty_or_flushing();
::encode(dirty, bl);
}
if (is_auth()) {
::encode(inode.version, bl);
} else {
- bool dirty = nestlock.is_dirty();
+ // treat flushing as dirty when rejoining cache
+ bool dirty = nestlock.is_dirty_or_flushing();
::encode(dirty, bl);
}
{