From df31f2b11efd0d024f12c7035ab0d3646ad9c7c6 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Wed, 10 Nov 2010 11:41:21 +0100 Subject: add write_buf method to high level API Add new write_buf() method to the highlevel API. Similarly to the lowlevel write_buf() method, this allows implementing zero copy writes. --- lib/modules/iconv.c | 8 ++++---- lib/modules/subdir.c | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'lib/modules') diff --git a/lib/modules/iconv.c b/lib/modules/iconv.c index a03a587..fa777a7 100644 --- a/lib/modules/iconv.c +++ b/lib/modules/iconv.c @@ -410,14 +410,14 @@ static int iconv_read(const char *path, char *buf, size_t size, off_t offset, return err; } -static int iconv_write(const char *path, const char *buf, size_t size, - off_t offset, struct fuse_file_info *fi) +static int iconv_write_buf(const char *path, struct fuse_bufvec *buf, + off_t offset, struct fuse_file_info *fi) { struct iconv *ic = iconv_get(); char *newpath; int err = iconv_convpath(ic, path, &newpath, 0); if (!err) { - err = fuse_fs_write(ic->next, newpath, buf, size, offset, fi); + err = fuse_fs_write_buf(ic->next, newpath, buf, offset, fi); free(newpath); } return err; @@ -605,7 +605,7 @@ static struct fuse_operations iconv_oper = { .create = iconv_create, .open = iconv_open_file, .read = iconv_read, - .write = iconv_write, + .write_buf = iconv_write_buf, .statfs = iconv_statfs, .flush = iconv_flush, .release = iconv_release, diff --git a/lib/modules/subdir.c b/lib/modules/subdir.c index b989b53..788765c 100644 --- a/lib/modules/subdir.c +++ b/lib/modules/subdir.c @@ -397,14 +397,14 @@ static int subdir_read(const char *path, char *buf, size_t size, off_t offset, return err; } -static int subdir_write(const char *path, const char *buf, size_t size, +static int subdir_write_buf(const char *path, struct fuse_bufvec *buf, off_t offset, struct fuse_file_info *fi) { struct subdir *d = subdir_get(); char *newpath; int err = subdir_addpath(d, path, &newpath); if (!err) { - err = fuse_fs_write(d->next, newpath, buf, size, offset, fi); + err = fuse_fs_write_buf(d->next, newpath, buf, offset, fi); free(newpath); } return err; @@ -588,7 +588,7 @@ static struct fuse_operations subdir_oper = { .create = subdir_create, .open = subdir_open, .read = subdir_read, - .write = subdir_write, + .write_buf = subdir_write_buf, .statfs = subdir_statfs, .flush = subdir_flush, .release = subdir_release, -- cgit v1.2.3