diff options
| author | Miklos Szeredi <miklos@szeredi.hu> | 2006-04-11 15:16:51 -0400 |
|---|---|---|
| committer | Miklos Szeredi <miklos@szeredi.hu> | 2006-04-11 15:16:51 -0400 |
| commit | 56cf34ff0795692327234963dcdcc2cdeec2bb3d (patch) | |
| tree | d7b4b736654176c361c5e78d0a8a8ef6dca9e976 | |
| parent | 4858cae4f0904681eab58a16891c22397618a2a2 (diff) | |
[fuse] Direct I/O should not use fuse_reset_request
It's cleaner to allocate a new request, otherwise the uid/gid/pid
fields of the request won't be filled in.
Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
| -rw-r--r-- | fs/fuse/file.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/fuse/file.c b/fs/fuse/file.c index e4f041a11bb5..fc342cf7c2cc 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* | 1 | /* |
| 2 | FUSE: Filesystem in Userspace | 2 | FUSE: Filesystem in Userspace |
| 3 | Copyright (C) 2001-2005 Miklos Szeredi <miklos@szeredi.hu> | 3 | Copyright (C) 2001-2006 Miklos Szeredi <miklos@szeredi.hu> |
| 4 | 4 | ||
| 5 | This program can be distributed under the terms of the GNU GPL. | 5 | This program can be distributed under the terms of the GNU GPL. |
| 6 | See the file COPYING. | 6 | See the file COPYING. |
| @@ -565,8 +565,12 @@ static ssize_t fuse_direct_io(struct file *file, const char __user *buf, | |||
| 565 | buf += nres; | 565 | buf += nres; |
| 566 | if (nres != nbytes) | 566 | if (nres != nbytes) |
| 567 | break; | 567 | break; |
| 568 | if (count) | 568 | if (count) { |
| 569 | fuse_reset_request(req); | 569 | fuse_put_request(fc, req); |
| 570 | req = fuse_get_req(fc); | ||
| 571 | if (IS_ERR(req)) | ||
| 572 | break; | ||
| 573 | } | ||
| 570 | } | 574 | } |
| 571 | fuse_put_request(fc, req); | 575 | fuse_put_request(fc, req); |
| 572 | if (res > 0) { | 576 | if (res > 0) { |
