diff --git a/[refs] b/[refs] index 39d92a3d4221..eeb207326e07 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4858cae4f0904681eab58a16891c22397618a2a2 +refs/heads/master: 56cf34ff0795692327234963dcdcc2cdeec2bb3d diff --git a/trunk/fs/fuse/file.c b/trunk/fs/fuse/file.c index e4f041a11bb5..fc342cf7c2cc 100644 --- a/trunk/fs/fuse/file.c +++ b/trunk/fs/fuse/file.c @@ -1,6 +1,6 @@ /* FUSE: Filesystem in Userspace - Copyright (C) 2001-2005 Miklos Szeredi + Copyright (C) 2001-2006 Miklos Szeredi This program can be distributed under the terms of the GNU GPL. See the file COPYING. @@ -565,8 +565,12 @@ static ssize_t fuse_direct_io(struct file *file, const char __user *buf, buf += nres; if (nres != nbytes) break; - if (count) - fuse_reset_request(req); + if (count) { + fuse_put_request(fc, req); + req = fuse_get_req(fc); + if (IS_ERR(req)) + break; + } } fuse_put_request(fc, req); if (res > 0) {