Bug 1126823 - Remove brick if(op_errno == ESTALE)...
Summary: Remove brick if(op_errno == ESTALE)...
Alias: None
Product: GlusterFS
Classification: Community
Component: core
Version: mainline
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Rinku
QA Contact:
Depends On:
TreeView+ depends on / blocked
Reported: 2014-08-05 11:30 UTC by Donatas Abraitis
Modified: 2019-04-22 07:13 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2019-04-22 07:13:27 UTC
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:

Attachments (Terms of Use)

Description Donatas Abraitis 2014-08-05 11:30:59 UTC
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.

Actual results:
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.

Additional info:
Suggestion would be to change behavior of this function client3_3_lookup_cbk(), to remove brick from gluster if rsp.op_errno == ESTALE.

Comment 1 Rinku 2019-04-22 07:13:27 UTC
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.

Note You need to log in before you can comment on or make changes to this bug.