Description of problem:
If brick's mountpoint has an "Input/Output" error for instance (XFS Input/Output error trying to list directories), glusterd does nothing, except warning about 'Stale file handle'.
glusterd's mkdir() just returns OK, because brick doesn't return any error, it fails only on lookup().
Version-Release number of selected component (if applicable):
3.5.0, 3.5.1, 3.5.2, previous versions aren't checked.
Result is that you can create directory, but can't remove it, because of brick's FS error.
After doing full umount and remount XFS at brick did the trick, but would be better to avoid this.
Suggestion would be to change behavior of this function client3_3_lookup_cbk(), to remove brick from gluster if rsp.op_errno == ESTALE.
Thanks for the suggestion, the idea of removing the brick when we get ESTALE error seems logical but cannot be implemented because the ESTALE error can be thrown by any xlator and if we remove the brick like this then it can have other undesirable repercussion.