|
@@ -376,27 +376,13 @@ static void fuse_bdi_destroy(struct fuse_conn *fc)
|
|
bdi_destroy(&fc->bdi);
|
|
bdi_destroy(&fc->bdi);
|
|
}
|
|
}
|
|
|
|
|
|
-void fuse_conn_kill(struct fuse_conn *fc)
|
|
|
|
-{
|
|
|
|
- spin_lock(&fc->lock);
|
|
|
|
- fc->connected = 0;
|
|
|
|
- fc->blocked = 0;
|
|
|
|
- fc->initialized = 1;
|
|
|
|
- spin_unlock(&fc->lock);
|
|
|
|
- /* Flush all readers on this fs */
|
|
|
|
- kill_fasync(&fc->fasync, SIGIO, POLL_IN);
|
|
|
|
- wake_up_all(&fc->waitq);
|
|
|
|
- wake_up_all(&fc->blocked_waitq);
|
|
|
|
-}
|
|
|
|
-EXPORT_SYMBOL_GPL(fuse_conn_kill);
|
|
|
|
-
|
|
|
|
static void fuse_put_super(struct super_block *sb)
|
|
static void fuse_put_super(struct super_block *sb)
|
|
{
|
|
{
|
|
struct fuse_conn *fc = get_fuse_conn_super(sb);
|
|
struct fuse_conn *fc = get_fuse_conn_super(sb);
|
|
|
|
|
|
fuse_send_destroy(fc);
|
|
fuse_send_destroy(fc);
|
|
|
|
|
|
- fuse_conn_kill(fc);
|
|
|
|
|
|
+ fuse_abort_conn(fc);
|
|
mutex_lock(&fuse_mutex);
|
|
mutex_lock(&fuse_mutex);
|
|
list_del(&fc->entry);
|
|
list_del(&fc->entry);
|
|
fuse_ctl_remove_conn(fc);
|
|
fuse_ctl_remove_conn(fc);
|