diff options
author | Dees Troy <dees_troy@teamw.in> | 2013-08-28 18:00:58 +0200 |
---|---|---|
committer | Gerrit Code Review <gerrit@198.50.184.117> | 2013-08-28 18:00:58 +0200 |
commit | de307148cfb7f1f37df875f0451f56488b8f68b2 (patch) | |
tree | 7342cbe1d30c701e331a9bb11705044f1a3f20b7 /exfat/exfat-fuse/main.c | |
parent | ignore lost+found in all the places (diff) | |
parent | update exfat to latest commits for io issues (diff) | |
download | android_bootable_recovery-de307148cfb7f1f37df875f0451f56488b8f68b2.tar android_bootable_recovery-de307148cfb7f1f37df875f0451f56488b8f68b2.tar.gz android_bootable_recovery-de307148cfb7f1f37df875f0451f56488b8f68b2.tar.bz2 android_bootable_recovery-de307148cfb7f1f37df875f0451f56488b8f68b2.tar.lz android_bootable_recovery-de307148cfb7f1f37df875f0451f56488b8f68b2.tar.xz android_bootable_recovery-de307148cfb7f1f37df875f0451f56488b8f68b2.tar.zst android_bootable_recovery-de307148cfb7f1f37df875f0451f56488b8f68b2.zip |
Diffstat (limited to 'exfat/exfat-fuse/main.c')
-rw-r--r-- | exfat/exfat-fuse/main.c | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/exfat/exfat-fuse/main.c b/exfat/exfat-fuse/main.c index 53ce2feb5..abb60e7df 100644 --- a/exfat/exfat-fuse/main.c +++ b/exfat/exfat-fuse/main.c @@ -2,11 +2,12 @@ main.c (01.09.09) FUSE-based exFAT implementation. Requires FUSE 2.6 or later. + Free exFAT implementation. Copyright (C) 2010-2013 Andrew Nayenko - This program is free software: you can redistribute it and/or modify + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or + the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -14,8 +15,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #define FUSE_USE_VERSION 26 @@ -152,6 +154,21 @@ static int fuse_exfat_release(const char* path, struct fuse_file_info* fi) return 0; } +static int fuse_exfat_fsync(const char* path, int datasync, + struct fuse_file_info *fi) +{ + int rc; + + exfat_debug("[%s] %s", __func__, path); + rc = exfat_flush_node(&ef, get_node(fi)); + if (rc != 0) + return rc; + rc = exfat_flush(&ef); + if (rc != 0) + return rc; + return exfat_fsync(ef.dev); +} + static int fuse_exfat_read(const char* path, char* buffer, size_t size, off64_t offset, struct fuse_file_info* fi) { @@ -313,6 +330,8 @@ static struct fuse_operations fuse_exfat_ops = .readdir = fuse_exfat_readdir, .open = fuse_exfat_open, .release = fuse_exfat_release, + .fsync = fuse_exfat_fsync, + .fsyncdir = fuse_exfat_fsync, .read = fuse_exfat_read, .write = fuse_exfat_write, .unlink = fuse_exfat_unlink, |