From: Bram R. <bra...@ph...> - 2006-05-22 10:30:10
|
Hi Harold, others, After some more testing ... I found on win32/cygwin: An existing large file remained large after p_write_header and was only truncated when closing the file. Hence, an existing fragmented file remained fragmented. This is resolved by a different CreateFile flag in cpfspd_fio.c. Now, the file is created as if it did not exist, hence also new disk space is allocated with p_write_header. Solution is in CVS repository. Regards, Bram. -- A.K. (Bram) Riemens Principal Scientist, DSP group, Philips Research Office: WO-p-94, Postbox WO02 High Tech Campus 36 (WO), 5656 AE Eindhoven, The Netherlands Tel: +31 40 27 43833, Fax: +31 40 27 44675 E-mail: bra...@ph... Harold Schmeitz Sent by: pfs...@li... 22-05-2006 09:04 To pfs...@li... cc Subject Re: [Pfs...@sf...] File fragmentation Classification Hello, Thanks to Bram's rigorous testing, we uncovered a problem with the win32 file I/O. In overlapped (asynchronous) mode, reserving the file space does not complete immediately, but it appears that some data (zeros ?) is written to disk. On a local file system, this takes some time, but works ok. However,on a network share (e.g. writing remotely to a streamer pc), there is a timeout after 2-3 GB, and the application crashes. Workaround is to create a file using regular I/O, reserve disk space, close it, then open again in overlapped mode. The disk space allocation is moved to p_fio_allocate( ). Please note that this only affects you if you are using the development version of cpfspd (sf.net), so update your cvs sandbox. Regards, Harold ___________________________________ Ing. H.A.W. Schmeitz Video Processing Systems, Philips Research Laboratories High Tech Campus 36, 5656 AE Eindhoven, The Netherlands Tel. +31 (0)40 27 46489 har...@ph... |