aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Kuzmin <parafin@paraf.in>2009-08-19 21:21:29 +0200
committerMax Kellermann <max@duempel.org>2009-08-19 21:21:29 +0200
commit9d42f4e0ed81969b4fcf1c20e60e867a2defe636 (patch)
treee2005c018c84f5ce0e7563ac8b6fdd8c9c42cbb2
parentfd8aa54a90c7e18ab4ff3e4be7bc40e2c475839f (diff)
downloadmpd-9d42f4e0ed81969b4fcf1c20e60e867a2defe636.tar.gz
mpd-9d42f4e0ed81969b4fcf1c20e60e867a2defe636.tar.xz
mpd-9d42f4e0ed81969b4fcf1c20e60e867a2defe636.zip
update: don't re-read unchanged container files
MPD checks if every flac (possibly other types as well) file contains cuesheet on every update, which produces unneeded I/O. My music collection is on NFS share, so it's quite noticeable. IMHO, it shouldn't re-read unchanged files, so I wrote simple patch to fix it.
-rw-r--r--NEWS1
-rw-r--r--src/update.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 324f054e1..dbf780524 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,7 @@
ver 0.15.3 (2009/??/??)
* output:
- fix stuttering due to uninitialized variable
+* update: don't re-read unchanged container files
ver 0.15.2 (2009/08/15)
diff --git a/src/update.c b/src/update.c
index bdf84ce36..593198cb9 100644
--- a/src/update.c
+++ b/src/update.c
@@ -502,7 +502,8 @@ update_regular_file(struct directory *directory,
{
struct song* song = songvec_find(&directory->songs, name);
- if (plugin->container_scan != NULL)
+ if (!(song != NULL && st->st_mtime == song->mtime) &&
+ plugin->container_scan != NULL)
{
if (update_container_file(directory, name, st, plugin))
{