diff options
| -rw-r--r-- | fs/fuse/dev.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index e08ab4702d9..9af88953db6 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -773,8 +773,10 @@ static ssize_t fuse_dev_writev(struct file *file, const struct iovec *iov,  	list_del_init(&req->list);  	if (req->interrupted) { -		request_end(fc, req); +		spin_unlock(&fuse_lock);  		fuse_copy_finish(&cs); +		spin_lock(&fuse_lock); +		request_end(fc, req);  		return -ENOENT;  	}  	req->out.h = oh; | 
