aboutsummaryrefslogtreecommitdiffstats
path: root/fuse/main.c
diff options
context:
space:
mode:
authorresver@gmail.com <resver@gmail.com@60bc1c72-a15a-11de-b98f-4500b42dc123>2013-08-06 20:08:06 +0000
committerresver@gmail.com <resver@gmail.com@60bc1c72-a15a-11de-b98f-4500b42dc123>2013-08-06 20:08:06 +0000
commit54ddb9685949eb000b8ac9bc60700e3ad8ba1ee6 (patch)
treef7d543d8cfa97572aa39803f162dfe97ee7cbc55 /fuse/main.c
parent507fac976451eb0cf8531b64401fbb16fc2b4177 (diff)
downloadandroid_external_exfat-54ddb9685949eb000b8ac9bc60700e3ad8ba1ee6.tar.gz
android_external_exfat-54ddb9685949eb000b8ac9bc60700e3ad8ba1ee6.tar.bz2
android_external_exfat-54ddb9685949eb000b8ac9bc60700e3ad8ba1ee6.zip
Handle I/O errors in exfat_flush_node().
git-svn-id: http://exfat.googlecode.com/svn/trunk@379 60bc1c72-a15a-11de-b98f-4500b42dc123
Diffstat (limited to 'fuse/main.c')
-rw-r--r--fuse/main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fuse/main.c b/fuse/main.c
index 4bf553e..333c2c4 100644
--- a/fuse/main.c
+++ b/fuse/main.c
@@ -157,8 +157,12 @@ static int fuse_exfat_release(const char* path, struct fuse_file_info* fi)
static int fuse_exfat_fsync(const char* path, int datasync,
struct fuse_file_info *fi)
{
+ int rc;
+
exfat_debug("[%s] %s", __func__, path);
- exfat_flush_node(&ef, get_node(fi));
+ rc = exfat_flush_node(&ef, get_node(fi));
+ if (rc != 0)
+ return rc;
exfat_flush(&ef);
return exfat_fsync(ef.dev);
}