The code I am working on is writing a file to a different subvolume than the one it is reading it from (during the read time). In order to do it, at the open() call I set some variables and context, while on the readv_cbk calls I am calling synctask_new() with a function that will trigger create or open + syncop_writev()s.
It is working ok for small files, but when it begins to get around 1MB or a bit more I can see that among the several readv() calls there is a fstat(), which I guess is messing with the write, because when it doesn't happen, the write concludes successfully (there is no error from the syncop_writev, but comparing the files afterwards I can see that when the fstat happens I get different file contents). I don't see why because the fstat is over the original file, not the one I'm writing.
The way I am taking here, trying to write a file locally directly at readv_cbk would be the more appropriate one in your opinion, or other approach more common in gluster would be better?
Thanks,
Gustavo Bervian Brand
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------