On Fri, 16 Oct 2015, Kendall Green wrote:
The bug doesn't seem to be the file system driver, because the fuse-dfs mount reports the error as random write operation. The error message is from the driver library which validates sequential writes are used, but is caused from rsyslog changing from sequential to random write operations.When rsyslog first writes file output is sequential, then at the point when some other process writes to a different file, or simply ls the directory rsyslog is writing to, then rsyslog starts attempting unsupported write operations and process batch deletion as if write error retry was successful when it is not.
Rsyslog doesn't know that any other program accessed the file, so it doesn't switch from one type of write to another.
What I think is happening is that the fuse driver is getting confused. the other program that accesses the file is doing something that makes the fuse driver think that it may write to it or otherwise sets a pointer somewhere internally. Then when rsyslog does it's next write to the file (note that rsyslog has kept the file open all the time, and never issues a seek/lseek command, it's just writing to the next spot int he file) the fuse driver thinks that this is now a randmom write because it's gotten confused about where it should be in the file.
as Rainer says, an strace of rsyslog will show that it's writes are not any different before or after the other program accessed the file, same flags, etc.
David Lang
_______________________________________________ rsyslog mailing list http://lists.adiscon.net/mailman/listinfo/rsyslog http://www.rsyslog.com/professional-services/ What's up with rsyslog? Follow https://twitter.com/rgerhards NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE THAT.

