diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2004-11-11 10:33:58 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2004-11-11 10:33:58 +0000 |
commit | 3a6ea06efab29198ba664945cec8296b7e1e356e (patch) | |
tree | 390cdfaafa43ac0201d8e54ee63fcc45fac07a20 /kernel/file.c | |
parent | 076136196276bf5cd898b7fc82d4ee0aeb8d7fde (diff) | |
download | libfuse-3a6ea06efab29198ba664945cec8296b7e1e356e.tar.gz |
merge from 2_0_merge1 to 2_0_merge2
Diffstat (limited to 'kernel/file.c')
-rw-r--r-- | kernel/file.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/file.c b/kernel/file.c index aa9dba3..a08d236 100644 --- a/kernel/file.c +++ b/kernel/file.c @@ -618,8 +618,12 @@ static ssize_t fuse_send_write(struct fuse_req *req, int writepage, req->out.args[0].value = &outarg; request_send(fc, req); res = req->out.h.error; - if (!res) - return outarg.size; + if (!res) { + if (outarg.size > count) + return -EPROTO; + else + return outarg.size; + } else return res; } |