[Gluster-users] mkdir produces stale file handles

Strahil hunter86_bg at yahoo.com
Thu Sep 19 11:48:21 UTC 2019

On Sep 19, 2019 13:03, Stefan Solbrig <stefan.solbrig at ur.de> wrote:
> Thanks for the quick answer!
> I think I can reduce data on the "full" bricks, solving the problem temporarily.
> The thing is, that the behavior changed from 3.12 to 6.5:   3.12 didn't have problems with almost full bricks, so I thought everything was fine. Then, after the upgrade, I ran into this problem. This might be a corner case that will go away once no-one uses 3.12 any more.
> But I think I can create a situation with 6.5 only that reproduces the error. Suppose I have a brick that 99% full.  So a write() will succeed. After the write, the brick can be 100% full, so a subsequent mkdir() will produce stale file handles (i.e., bricks that have different directory trees).  The funny thing is, that the mkdir() on the user side does not produce an error.   Clearly, no-one should ever let the file system get to 99%, but still, mkdir should fail then... 

I think there is a soft and hard limit that prevents creation of files/folders when a specific threshold is hit , but that threshold might be per brick instead of per replica set.

> What remains:  is there a recommended way how to deal with the situation that I have some bricks that don't have all directories?

I think that you can mount the gluster volume and run a find with stat that will force a sync.
find /rhev/mnt/full-path/directory-missing-on-some-bricks -iname '*' -exec stat {} \;

Best Regards,
Strahil Nikolov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gluster.org/pipermail/gluster-users/attachments/20190919/074a5348/attachment.html>

More information about the Gluster-users mailing list