hi,
https://bugzilla.redhat.com/show_bug.cgi?id=866908.
gluster volume heal <vol_name> info" command outputs entries which are in ".glusterfs"
and ".landfill" directory
Reason for the issue:
Whenever a brick is restarted and self-heal has to remove a directory 'dir' it sets a
flag indicating in rmdir fop that it is 'rm -rf'. The 'dir' is moved to
'.glusterfs/landfill' by posix because of the flags in rmdir fop, Janitor thread
removes it asynchronously. gfid-handles exists for 'dir' and files under 'dir' until
the janitor thread deletes them from landfill. Janitor thread is run every 10
minutes. Self-heald depends on gfid-handle presence to determine that a file exists
in the filesystem. Because of this behaviour, stale entries show up in the output of
'gluster volume heal <volname> info'. The issue is transient, after 10 minutes
the stale entries won't show up in the output. One way to fix it is by waking up
Janitor thread as soon as an rmdir fop comes with a special flag indicating that rm
-rf needs to happen inside landfill. We can even close the issue documenting the
behaviour as known issue. Let me know your inputs.