diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2004-10-19 22:01:21 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2004-10-19 22:01:21 +0000 |
commit | a2c5e56bc066ba01b5f17e528b92c4d878226b25 (patch) | |
tree | 1741a3ee9a8c359755b1f265662e5ea7ef3902d7 /kernel/file.c | |
parent | 127d49b0ef823cd8d7e6b83648f982566eab0016 (diff) | |
download | libfuse-a2c5e56bc066ba01b5f17e528b92c4d878226b25.tar.gz |
fix
Diffstat (limited to 'kernel/file.c')
-rw-r--r-- | kernel/file.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/kernel/file.c b/kernel/file.c index ec2e40c..91fd07b 100644 --- a/kernel/file.c +++ b/kernel/file.c @@ -598,6 +598,11 @@ static ssize_t fuse_send_write(struct fuse_req *req, int writepage, inarg.size = count; req->in.h.opcode = FUSE_WRITE; req->in.h.ino = inode->i_ino; + if (writepage) { + req->in.h.uid = 0; + req->in.h.gid = 0; + req->in.h.pid = 0; + } req->in.numargs = 2; req->in.args[0].size = sizeof(inarg); req->in.args[0].value = &inarg; @@ -740,7 +745,7 @@ static void send_write_nonblock(struct fuse_req *req, struct inode *inode, struct fuse_write_in *inarg; struct fuse_file *ff; char *buffer; - + BUG_ON(list_empty(&fi->write_files)); ff = list_entry(fi->write_files.next, struct fuse_file, ff_list); @@ -752,6 +757,9 @@ static void send_write_nonblock(struct fuse_req *req, struct inode *inode, inarg->size = count; req->in.h.opcode = FUSE_WRITE; req->in.h.ino = inode->i_ino; + req->in.h.uid = 0; + req->in.h.gid = 0; + req->in.h.pid = 0; req->in.numargs = 2; req->in.args[0].size = sizeof(struct fuse_write_in); req->in.args[0].value = inarg; |