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
_______________________________________________
Gluster-devel mailing list
Gluster-devel@gluster.org
http://supercolony.gluster.org/mailman/listinfo/gluster-devel

Reply via email to