http://oss.sgi.com/bugzilla/show_bug.cgi?id=418
------- Additional Comments From solamyl@xxxxxxxxx 2005-09-02 14:06 CST -------
We probably encountered the same problem.
Our program is some kind of 'file distribution agent' used in distributed
computing. It receives data from a network connection, stores them into a file
and forwards them again over another network connection to the next computer on
a list.
Daily job is to distribute about 300 files of average size 600MB. Each file is
created with ftruncate(), then preallocated with xfs_alloc() and then mmaped().
Data are written into mmaped memory and then msynced().
All worked fine, until we have used xfs_alloc() or xfs_resvsp() functions to
pre-allocate files (it was necessary to ensure low fragmentation of the files).
Problem was that the parts of the files were not written onto the disk and were
regulary lost! Problem showed especially when the volume of the transfered
files exceeded size of operating memory (probaly some broken caches started to
flush or release pages).
It seemed to me like if o.s. wes thinking that the modified page was already
written even if it really was not, or o.s. did not noticed, that the page was
changed at all.
After lots of testing we have changed mmaping files to open/write/close
functions and problem disappeared (we must use xfs_alloc() to lower
fragmentation).
I hope it would help you solve the problem.
--
Configure bugmail: http://oss.sgi.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
|