aboutsummaryrefslogtreecommitdiffstats
path: root/lib/modules/subdir.c
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2010-11-10 11:41:21 +0100
committerMiklos Szeredi <mszeredi@suse.cz>2010-11-10 11:41:21 +0100
commitdf31f2b11efd0d024f12c7035ab0d3646ad9c7c6 (patch)
treef10c9bfd6f4fea26681ccba13541f622eb683844 /lib/modules/subdir.c
parent4367f2df5038e369fef031e49448745e7065d179 (diff)
downloadlibfuse-df31f2b11efd0d024f12c7035ab0d3646ad9c7c6.tar.gz
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.
Diffstat (limited to 'lib/modules/subdir.c')
-rw-r--r--lib/modules/subdir.c6
1 files changed, 3 insertions, 3 deletions
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,