From: Miklos Szeredi Date: Sat, 20 Nov 2004 16:10:30 +0000 (+0000) Subject: fix X-Git-Tag: before_interruptible~19 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=72cf5c9d9eced708d212db49a9ae9f261b8cfcd9;p=qemu-gpiodev%2Flibfuse.git fix --- diff --git a/kernel/file.c b/kernel/file.c index 03e870b..c48615b 100644 --- a/kernel/file.c +++ b/kernel/file.c @@ -118,9 +118,9 @@ static int fuse_release(struct inode *inode, struct file *file) { struct fuse_conn *fc = INO_FC(inode); struct fuse_inode *fi = INO_FI(inode); - struct fuse_release_in *inarg; struct fuse_file *ff = file->private_data; struct fuse_req *req = ff->release_req; + struct fuse_release_in inarg; down(&inode->i_sem); if (file->f_mode & FMODE_WRITE) @@ -132,14 +132,14 @@ static int fuse_release(struct inode *inode, struct file *file) up_write(&fi->write_sem); } - inarg = &req->misc.release_in; - inarg->fh = ff->fh; - inarg->flags = file->f_flags & ~O_EXCL; + memset(&inarg, 0, sizeof(inarg)); + inarg.fh = ff->fh; + inarg.flags = file->f_flags & ~O_EXCL; req->in.h.opcode = FUSE_RELEASE; req->in.h.nodeid = fi->nodeid; req->in.numargs = 1; - req->in.args[0].size = sizeof(struct fuse_release_in); - req->in.args[0].value = inarg; + req->in.args[0].size = sizeof(inarg); + req->in.args[0].value = &inarg; request_send(fc, req); fuse_put_request(fc, req); kfree(ff); diff --git a/kernel/fuse_i.h b/kernel/fuse_i.h index ce35ee4..e454fd0 100644 --- a/kernel/fuse_i.h +++ b/kernel/fuse_i.h @@ -193,7 +193,6 @@ struct fuse_req { } write; struct fuse_read_in read_in; - struct fuse_release_in release_in; struct fuse_forget_in forget_in; } misc; diff --git a/kernel/linux/fuse.h b/kernel/linux/fuse.h index 8e62f9f..f5f7405 100644 --- a/kernel/linux/fuse.h +++ b/kernel/linux/fuse.h @@ -76,7 +76,7 @@ enum fuse_opcode { FUSE_READ = 15, FUSE_WRITE = 16, FUSE_STATFS = 17, - FUSE_RELEASE = 18, /* no reply */ + FUSE_RELEASE = 18, FUSE_INVALIDATE = 19, /* user initiated */ FUSE_FSYNC = 20, FUSE_SETXATTR = 21, @@ -231,10 +231,3 @@ struct fuse_dirent { #define FUSE_DIRENT_ALIGN(x) (((x) + sizeof(long) - 1) & ~(sizeof(long) - 1)) #define FUSE_DIRENT_SIZE(d) \ FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen) - -/* - * Local Variables: - * indent-tabs-mode: t - * c-basic-offset: 8 - * End: - */