[Gluster-devel] Wrong behavior on fsync of md-cache ?
Xavier Hernandez
xhernandez at datalab.es
Mon Nov 24 17:35:57 UTC 2014
Hi,
I have an issue in ec caused by what seems an incorrect behavior in
md-cache, at least in NetBSD (on linux this doesn't seem to happen).
The problem happens when multiple writes are sent in parallel and one of
them fails with an error. After the error, an fsync is issued, before
all pending writes are completed. The problem is that this fsync request
is not propagated through the xlator stack: md-cache automatically
answers it with the same error code returned by the last write, but it
does not wait for all pending writes to finish.
As I see it, if there are pending writes when an fsync is received, an
xlator should wait until all these writes have completed.
Setting performance.stat-prefetch to off, the problem disappears (ec
receives fsync and waits for all pending writes to finish before returning).
Is this a bug or I'm missing something ?
Thanks,
Xavi
More information about the Gluster-devel
mailing list