From fea072084ff9d7c4d2c688059a2462bb0e59a2ec Mon Sep 17 00:00:00 2001 From: K Henriksson Date: Wed, 27 Aug 2014 21:55:18 -0700 Subject: [PATCH] Fix statfs operation The statfs implementation does not properly translate names back to the original, since the major encoding rewrite. This corrects that, and should fix issue #27. --- src/fuseops.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/fuseops.c b/src/fuseops.c index e7b4e7e..c333cbd 100644 --- a/src/fuseops.c +++ b/src/fuseops.c @@ -337,9 +337,20 @@ static int mp3fs_statfs(const char *path, struct statvfs *stbuf) { if (!origpath) { goto translate_fail; } - + + /* pass-through for regular files */ + if (statvfs(origpath, stbuf) == 0) { + goto passthrough; + } else { + /* Not really an error. */ + errno = 0; + } + + find_original(origpath); + statvfs(origpath, stbuf); - + +passthrough: free(origpath); translate_fail: return -errno;