[Bugs] [Bug 1449329] When either killing or restarting a brick with performance.stat-prefetch on , stat sometimes returns a bad st_size value.

bugzilla at redhat.com bugzilla at redhat.com
Mon May 22 15:10:15 UTC 2017


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



--- Comment #8 from miklos.fokin at appeartv.com ---
Hello,
I've been adding some logging and trying to track down the problem.
It seems like the invalidate calls are also coming from the arbiter.
The following calls: writev, lookup, setattr, stat sometimes trigger an
invalidate notification to be sent from the upcall translator (call to
upcall_client_cache_invalidate).
I tried adding a check to afr_notify before calling default_notify to filter
out messages sent from an arbiter but it did not seem to work (reproduction was
still possible afterwards), I might have done it wrong though:
        if (propagate && !(event == GF_EVENT_UPCALL &&
AFR_IS_ARBITER_BRICK(priv, idx)))
                ret = default_notify (this, event, data);
Even so I'm pretty sure that it is the arbiter causing the problems because I
print the file which the operation is getting executed on in the posix_fdstat,
posix_istat, posix_pstat functions in posix-helpers.c right before the
invalidation message gets sent.

-- 
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=fgOXA95bGF&a=cc_unsubscribe


More information about the Bugs mailing list