[Bugs] [Bug 1444892] 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
Thu May 4 13:02:52 UTC 2017


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



--- Comment #2 from miklos.fokin at appeartv.com ---
Today I found a part in the code that seems to be the problem when the faulty 0
size from fstat gets shown after a kill.
Although it only has an indirect connection to stat-prefetch, but the issue
seems to be what I describe in the following paragraph, as with the solution I
suggest I didn't get a reproduction in 30-35 minutes, after which I got the
other problem where the size is just a bit lower than what it should be.

In afr_fsync_cbk, when receiving data from the bricks there are two times when
the fstat data can get updated: first is the initial update, and then the one
from the brick we selected to get the final data from.
During the debugging I found that if the initial update is coming from the
arbiter the size will be 0.
If the brick we selected to get the final data from is down, we get a struct
filled with zeroes, and an error value, thus we don't get a second update.
The change with which I didn't get a 0 size was simply waiting for a
non-arbiter brick to be the first update.

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


More information about the Bugs mailing list