aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/dev.c
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2004-11-09 17:30:29 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2004-11-09 17:30:29 +0000
commit064efb0c65763655c3b7cc66b0dc0c553b60a2a5 (patch)
tree0d00e806cd46a2826cab8313b3aded60f7710d28 /kernel/dev.c
parentc20bbbf5850f1a05c92b54dbea463a8f540d1eeb (diff)
downloadlibfuse-064efb0c65763655c3b7cc66b0dc0c553b60a2a5.tar.gz
cleanups
Diffstat (limited to 'kernel/dev.c')
-rw-r--r--kernel/dev.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/dev.c b/kernel/dev.c
index 2e081d0..71d306a 100644
--- a/kernel/dev.c
+++ b/kernel/dev.c
@@ -78,12 +78,14 @@ static void request_wait_answer(struct fuse_req *req, int interruptible)
return;
/* Request interrupted... Wait for it to be unlocked */
- if (req->locked) {
+ while (req->locked) {
req->interrupted = 1;
spin_unlock(&fuse_lock);
wait_event(req->waitq, !req->locked);
spin_lock(&fuse_lock);
}
+ if (req->finished)
+ return;
/* Operations which modify the filesystem cannot safely be
restarted, because it is uncertain whether the operation has