Created attachment 1514311 [details]
this '((now - priv->last_landfill_check) > priv->janitor_sleep_duration)' should change to if ( now < priv->last_landfill_check ||(now - priv->last_landfill_check) > priv->janitor_sleep_duration)
Description of problem:
gluster volume heal xx info show stale gfid file for long time (maybe several days)
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.ssh to storage node and change the system time forward 5 days like to 2018/12/19
2.change the time back to normal
3.check the gluster volume heal xx info
there is stale gfid file for long time
no stale gfid file for long time
*** Bug 1659374 has been marked as a duplicate of this bug. ***
*** Bug 1659371 has been marked as a duplicate of this bug. ***
Marking the issue as low priority right now, as the usecase of changing system is not considered critical.
This can happen because we keep the timestamp comparison with epoch values, and once a value is set for higher value, it won't be passing the if condition in case the time is reset back.
Best scenario at that time is to restart the brick process.