I have an application which is doing a lot of file operations.Its doing a lots of file read and write operations(lot of small files). We have found that some of the files are getting mixed up randomly. Output of file1 is going to file2 and so on. There is no concurrency issue from code that we have verified. Its working in all other platforms expect AIX.
In Solaris we faced this issue, but after enabling directio this issue is resolved.
In AIX we tried to enable dio, still this problem persists.
- OS : AIX 6.1.6.3
- Architecture : Power 6;
- 8 core with SMT on
- Storage : SAN
- FileSystem : JFS2
Thanks Nikesh PL
Well, it's not working on all platforms. It's not working on Solaris, until you enable direct I/O. Direct I/O forces synchronous writes and disables readahead, so you are changing timing of I/O, possibly masking the root cause.
You can try debugging your app, which may be difficult and time consuming, or you can just slap a band-aid and enable direct I/O on AIX too.