diff options
| -rw-r--r-- | fs/fuse/dev.c | 3 | ||||
| -rw-r--r-- | fs/fuse/inode.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index e0c7ada08a1f..c4a3d9bbdaa8 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c | |||
| @@ -281,7 +281,8 @@ __releases(&fc->lock) | |||
| 281 | fc->blocked = 0; | 281 | fc->blocked = 0; |
| 282 | wake_up_all(&fc->blocked_waitq); | 282 | wake_up_all(&fc->blocked_waitq); |
| 283 | } | 283 | } |
| 284 | if (fc->num_background == FUSE_CONGESTION_THRESHOLD) { | 284 | if (fc->num_background == FUSE_CONGESTION_THRESHOLD && |
| 285 | fc->connected) { | ||
| 285 | clear_bdi_congested(&fc->bdi, READ); | 286 | clear_bdi_congested(&fc->bdi, READ); |
| 286 | clear_bdi_congested(&fc->bdi, WRITE); | 287 | clear_bdi_congested(&fc->bdi, WRITE); |
| 287 | } | 288 | } |
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index dc649f6bc3e5..459b73dd45e1 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c | |||
| @@ -292,6 +292,7 @@ static void fuse_put_super(struct super_block *sb) | |||
| 292 | list_del(&fc->entry); | 292 | list_del(&fc->entry); |
| 293 | fuse_ctl_remove_conn(fc); | 293 | fuse_ctl_remove_conn(fc); |
| 294 | mutex_unlock(&fuse_mutex); | 294 | mutex_unlock(&fuse_mutex); |
| 295 | bdi_destroy(&fc->bdi); | ||
| 295 | fuse_conn_put(fc); | 296 | fuse_conn_put(fc); |
| 296 | } | 297 | } |
| 297 | 298 | ||
| @@ -532,7 +533,6 @@ void fuse_conn_put(struct fuse_conn *fc) | |||
| 532 | if (fc->destroy_req) | 533 | if (fc->destroy_req) |
| 533 | fuse_request_free(fc->destroy_req); | 534 | fuse_request_free(fc->destroy_req); |
| 534 | mutex_destroy(&fc->inst_mutex); | 535 | mutex_destroy(&fc->inst_mutex); |
| 535 | bdi_destroy(&fc->bdi); | ||
| 536 | fc->release(fc); | 536 | fc->release(fc); |
| 537 | } | 537 | } |
| 538 | } | 538 | } |
