diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2008-02-08 11:41:41 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2008-02-08 11:41:41 +0000 |
commit | b20d88bbbc6e5ae67f0c99595859fd653949a3aa (patch) | |
tree | 218bf2134c1af0c5a9e3c652310c8721f48d6a8f /lib/fuse_lowlevel.c | |
parent | 30823693d6489a9638dbcc1a02600d0d2119d3ea (diff) | |
download | libfuse-b20d88bbbc6e5ae67f0c99595859fd653949a3aa.tar.gz |
Update kernel interface to 7.9
Diffstat (limited to 'lib/fuse_lowlevel.c')
-rw-r--r-- | lib/fuse_lowlevel.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c index 5c9dc56..ed885fd 100644 --- a/lib/fuse_lowlevel.c +++ b/lib/fuse_lowlevel.c @@ -629,14 +629,20 @@ static void do_write(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) { struct fuse_write_in *arg = (struct fuse_write_in *) inarg; struct fuse_file_info fi; + char *param; memset(&fi, 0, sizeof(fi)); fi.fh = arg->fh; fi.fh_old = fi.fh; fi.writepage = arg->write_flags & 1; + if (req->f->conn.proto_minor < 9) + param = ((char *) arg) + FUSE_COMPAT_WRITE_IN_SIZE; + else + param = PARAM(arg); + if (req->f->op.write) - req->f->op.write(req, nodeid, PARAM(arg), arg->size, + req->f->op.write(req, nodeid, param, arg->size, arg->offset, &fi); else fuse_reply_err(req, ENOSYS); |