[Bugs] [Bug 1062437] stripe does not work with empty xlator

bugzilla at redhat.com bugzilla at redhat.com
Tue Jan 5 21:15:30 UTC 2016


https://bugzilla.redhat.com/show_bug.cgi?id=1062437



--- Comment #5 from Jeff Darcy <jdarcy at redhat.com> ---
Looks like my theory was correct.  The specific culprit, in current master, is
this check in stripe_lookup_cbk (stripe.c:215).

> if (FIRST_CHILD(this) == prev->this) {

If "prev" doesn't match the first child, which it never will if STACK_WIND_TAIL
gets involved, then we don't fill in the attr structure and return absolute
garbage to FUSE.  On my system this resulted in subsequent calls returning EIO
instead of hanging, but close enough.  Sure enough, when I changed the
defaults-generation code to use STACK_WIND instead of STACK_WIND_TAIL, the
problem went away.

I can generate a patch pretty easily to do a smarter ancestry check in this
case, but must add two caveats.  First, there might be other problems of the
same general nature.  Second, this kind of single-volfile client and server in
the same process isn't really supported (and stripe will soon be deprecated in
favor of shard) so we're kind of on shaky ground here.  I'm glad to fix the
immediate problem, but can't promise to fix others that might be specific to
this usage pattern.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=jfAyRX0Gne&a=cc_unsubscribe


More information about the Bugs mailing list