From 8b8876d768a693d3a6a8dbd0939268605e509407 Mon Sep 17 00:00:00 2001 From: Adam Sutton Date: Fri, 15 Feb 2013 10:31:59 +0000 Subject: [PATCH] Fix #1605 - timeshift: mark file space as free at earliest opportunity. Previously the space was only marked as free when the file was physically removed (which happens async) which resulted in the buffer immediately being seen as full. --- src/timeshift/timeshift_filemgr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/timeshift/timeshift_filemgr.c b/src/timeshift/timeshift_filemgr.c index a0d1603a..19bc6b43 100644 --- a/src/timeshift/timeshift_filemgr.c +++ b/src/timeshift/timeshift_filemgr.c @@ -75,7 +75,6 @@ static void* timeshift_reaper_callback ( void *p ) if (errno != ENOTEMPTY) tvhlog(LOG_ERR, "timeshift", "failed to remove %s [e=%s]", dpath, strerror(errno)); - atomic_add_u64(×hift_total_size, -tsf->size); /* Free memory */ while ((ti = TAILQ_FIRST(&tsf->iframes))) { @@ -163,6 +162,7 @@ void timeshift_filemgr_remove if (tsf->fd != -1) close(tsf->fd); TAILQ_REMOVE(&ts->files, tsf, link); + atomic_add_u64(×hift_total_size, -tsf->size); timeshift_reaper_remove(tsf); }