{
NOFILE_BUFFER = 512, /* the process' number of open files is
globalMaxPeers + NOFILE_BUFFER */
-
- SYNC_INTERVAL = 15 /* (arbitrary number) how many seconds to go
- between fsync calls for files in heavy use */
};
struct tr_openfile
char filename[MAX_PATH_LENGTH];
int fd;
uint64_t date;
- time_t syncAt;
};
struct tr_fd_s
doWrite ? 'y' : 'n' );
tr_strlcpy( o->filename, filename, sizeof( o->filename ) );
o->isWritable = doWrite;
- o->syncAt = time( NULL ) + SYNC_INTERVAL;
}
dbgmsg( "checking out '%s' in slot %d", filename, winner );
o->isCheckedOut = 0;
if( o->closeWhenDone )
TrCloseFile( i );
- else if( o->syncAt <= time( NULL ) ) {
- dbgmsg( "fsync()ing file '%s' in slot #%d", o->filename, i );
- //fsync( o->fd );
-#ifdef HAVE_POSIX_FADVISE
- /* TODO: test performance with and without this */
- posix_fadvise( o->fd, 0, 0, POSIX_FADV_DONTNEED );
-#endif
- o->syncAt = time( NULL ) + SYNC_INTERVAL;
- }
break;
}
tr_bencDictAddInt ( d, TR_PREFS_KEY_PEER_SOCKET_TOS, atoi( TR_DEFAULT_PEER_SOCKET_TOS_STR ) );
tr_bencDictAddBool( d, TR_PREFS_KEY_PEX_ENABLED, TRUE );
tr_bencDictAddBool( d, TR_PREFS_KEY_PORT_FORWARDING, TRUE );
- tr_bencDictAddInt ( d, TR_PREFS_KEY_PREALLOCATION, TR_PREALLOCATE_SPARSE );
+ tr_bencDictAddInt ( d, TR_PREFS_KEY_PREALLOCATION, TR_PREALLOCATE_FULL );
+ /* tr_bencDictAddInt ( d, TR_PREFS_KEY_PREALLOCATION, TR_PREALLOCATE_SPARSE ); */
tr_bencDictAddStr ( d, TR_PREFS_KEY_PROXY, "" );
tr_bencDictAddBool( d, TR_PREFS_KEY_PROXY_AUTH_ENABLED, FALSE );
tr_bencDictAddBool( d, TR_PREFS_KEY_PROXY_ENABLED, FALSE );