diff options
author | Simon Rettberg | 2013-11-12 18:37:30 +0100 |
---|---|---|
committer | Simon Rettberg | 2013-11-12 18:37:30 +0100 |
commit | ec507460768fb9ebe0bf037855864e9a94f3b36a (patch) | |
tree | d724ad0e6f70365d73539362aba6ffa5b7444d40 /src/server/image.c | |
parent | Merge branch 'simon' of dnbd3:dnbd3 into simon (diff) | |
download | dnbd3-ec507460768fb9ebe0bf037855864e9a94f3b36a.tar.gz dnbd3-ec507460768fb9ebe0bf037855864e9a94f3b36a.tar.xz dnbd3-ec507460768fb9ebe0bf037855864e9a94f3b36a.zip |
[SERVER] Save cache maps every 30 mins
Diffstat (limited to 'src/server/image.c')
-rw-r--r-- | src/server/image.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/server/image.c b/src/server/image.c index 53b8aea..40de3fd 100644 --- a/src/server/image.c +++ b/src/server/image.c @@ -156,6 +156,18 @@ void image_markComplete(dnbd3_image_t *image) } /** + * Save cache map of every image + */ +void image_saveAllCacheMaps() +{ + spin_lock( &_images_lock ); + for (int i = 0; i < _num_images; ++i) { + image_saveCacheMap( _images[i] ); + } + spin_unlock( &_images_lock ); +} + +/** * Saves the cache map of the given image. * Return TRUE on success. * Locks on: image.lock @@ -1173,7 +1185,7 @@ static int image_ensureDiskSpace(uint64_t size) if ( oldest->atime == 0 ) mtime = file_lastModification( oldest->path ); } else if ( oldest->atime == 0 && current->atime == 0 ) { // Oldest access time is 0 (=never used since server startup), so take file modification time into account - const time_t m = file_lastModification(current->path ); + const time_t m = file_lastModification( current->path ); if ( m < mtime ) { mtime = m; oldest = current; |