[Gluster-devel] help needed with glfsheal

Emmanuel Dreyfus manu at netbsd.org
Wed Nov 5 14:48:00 UTC 2014


Hello

I have been investigating a spurious failure in tests/basic/afr/self-heald.t
for NetBSD.  It happens in the test that ongoing I/O  is not considered 
as Pending heal: sometimes I get entries listes by gluster volume heal info
while they should not.

Looking at the logs, I see the lovely message "seekdir(...) failed (...)
Invalid argument (offset reused from another DIR * structure?)" from the 
index xlator. This is because an offset is reused from a DIR * to another
one.

That problem was supposed to be fixed here:
http://review.gluster.org/8936

I first rhought about the bug I fixed recently: there is such a spurious
message when we hit the end of directory. I fixed it in the posix xlator
but not the index xlator. I added the same fix:
http://review.gluster.org/9047

But I still have the same message. Adding more debug messages, I see that
brick2 complains about the offset reported at EOF for brick1. This means
that somewhere cli-side  there is a omponent that keeps state between 
opening of the same directory for different breicks. Anyone has an idea
where the offending code could be?

I guess it may impact Linux too, despite the absence of message in the 
logs, as readdir may start skipping the beginning of the directory because
offset is not reset to 0 when oving from a brick to another one.



-- 
Emmanuel Dreyfus
manu at netbsd.org


More information about the Gluster-devel mailing list