[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