On Fri, Nov 11, 2011 at 06:06:16PM +0900, MORITA Kazutaka wrote: > posix_fallocate() shows very poor performance if the underlying > filesystem doesn't support fallocate() (e.g. ext3). How about using > fallocate() instead of posix_fallocate(), and if it returns > EOPNOTSUPP, writing SD_DATA_OBJ_SIZE bytes with one pwrite() call? At least for the samba use case (which is preallocating in 1MB chunks and then filling it with 64k chunks) even the dumb preallocation has shown benefit for ext3. I'll try to benchmark it soon and will report the results to you. |