From 72cf5c9d9eced708d212db49a9ae9f261b8cfcd9 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Sat, 20 Nov 2004 16:10:30 +0000 Subject: fix --- kernel/file.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'kernel/file.c') 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); -- cgit v1.2.3