From 57d48b31da5005934dbb08979f2507bf7a981d0f Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Mon, 12 Sep 2011 09:38:03 +0200 Subject: [PATCH] --- yaml --- r: 263729 b: refs/heads/master c: 5dfcc87fd79dfb96ed155b524337dbd0da4f5993 h: refs/heads/master i: 263727: 691f2398561df904f4f783f8a2ec5d7b9a80be16 v: v3 --- [refs] | 2 +- trunk/fs/fuse/dev.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 9e97e014f93e..9453f7121b47 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 24114504c4d585ec4aae7a2b2acb81bf741f8c8a +refs/heads/master: 5dfcc87fd79dfb96ed155b524337dbd0da4f5993 diff --git a/trunk/fs/fuse/dev.c b/trunk/fs/fuse/dev.c index 168a80f7f12b..5cb8614508c3 100644 --- a/trunk/fs/fuse/dev.c +++ b/trunk/fs/fuse/dev.c @@ -258,10 +258,14 @@ void fuse_queue_forget(struct fuse_conn *fc, struct fuse_forget_link *forget, forget->forget_one.nlookup = nlookup; spin_lock(&fc->lock); - fc->forget_list_tail->next = forget; - fc->forget_list_tail = forget; - wake_up(&fc->waitq); - kill_fasync(&fc->fasync, SIGIO, POLL_IN); + if (fc->connected) { + fc->forget_list_tail->next = forget; + fc->forget_list_tail = forget; + wake_up(&fc->waitq); + kill_fasync(&fc->fasync, SIGIO, POLL_IN); + } else { + kfree(forget); + } spin_unlock(&fc->lock); }