ltp
ltp copied to clipboard
msync01:testcase need revisit
Source code: kernel/syscalls/msync/msync01.c
If run the command "msync01" without any options, the test tries to do the following:
- open/create a file
- mmap this file
- memset part of the mapped memory to "1" for this file
- msync the mapped memory to this file
- lseek the file to the position, which is memset to "1" in above step 3.
- read the file and compare the value
In step 4, msync is called with flag MS_ASYNC. This flag means an update be scheduled, but the call to msync returns immediately. That's it doesn't guarantee the synchronization is completed before the msync() return. So the comparation in step 6 may succeed or fail. The test result can't be expected to be always successful.