diff options
| author | Simon Rettberg | 2017-09-02 18:03:15 +0200 |
|---|---|---|
| committer | Simon Rettberg | 2017-09-02 18:03:15 +0200 |
| commit | 9858ab5bbb2fc5d1569257c0ee8f794fdae1c512 (patch) | |
| tree | 7bb448cc73f852f5ed0f258daf8c9280755bb52d /src/server/altservers.c | |
| parent | [*] Continue splitting #defines to clientconfig.h etc. (diff) | |
| download | dnbd3-9858ab5bbb2fc5d1569257c0ee8f794fdae1c512.tar.gz dnbd3-9858ab5bbb2fc5d1569257c0ee8f794fdae1c512.tar.xz dnbd3-9858ab5bbb2fc5d1569257c0ee8f794fdae1c512.zip | |
[SERVER] Implement closeUnusedFd config option
This will close the readFd of images that have no active clients
after some idle period (1 hour currently).
Prevents deleted images from taking up space until the server
is shut down.
Diffstat (limited to 'src/server/altservers.c')
| -rw-r--r-- | src/server/altservers.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/altservers.c b/src/server/altservers.c index 4c87344..7c55ab9 100644 --- a/src/server/altservers.c +++ b/src/server/altservers.c @@ -345,6 +345,7 @@ static void *altservers_main(void *data UNUSED) serialized_buffer_t serialized; struct timespec start, end; time_t nextCacheMapSave = time( NULL ) + 90; + time_t nextCloseUnusedFd = time( NULL ) + 900; setThreadName( "altserver-check" ); blockNoncriticalSignals(); @@ -525,6 +526,10 @@ static void *altservers_main(void *data UNUSED) nextCacheMapSave = now + SERVER_CACHE_MAP_SAVE_INTERVAL; image_saveAllCacheMaps(); } + // TODO: More random crap + if ( _closeUnusedFd && now > nextCloseUnusedFd ) { + image_closeUnusedFd(); + } } cleanup: ; if ( runSignal != NULL ) signal_close( runSignal ); |
