diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2004-11-20 16:10:30 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2004-11-20 16:10:30 +0000 |
commit | 72cf5c9d9eced708d212db49a9ae9f261b8cfcd9 (patch) | |
tree | 0cbf4df33641746d92d847ae25f2c59f1a22feb6 /kernel/file.c | |
parent | 256739a410f38f424e30011e329e41647f3cd9ff (diff) | |
download | libfuse-72cf5c9d9eced708d212db49a9ae9f261b8cfcd9.tar.gz |
fix
Diffstat (limited to 'kernel/file.c')
-rw-r--r-- | kernel/file.c | 12 |
1 files changed, 6 insertions, 6 deletions
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); |