summaryrefslogtreecommitdiffstats
path: root/fs/fuse/inode.c
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2015-07-01 16:26:01 +0200
committerMiklos Szeredi <mszeredi@suse.cz>2015-07-01 16:26:01 +0200
commite16714d8756dc1237a66994e139b61feebcf707a (patch)
tree149f1106ae65abfb03e892a295f15d3a17477672 /fs/fuse/inode.c
parentf88996a93324483ff3ec027312bbacacf97a555b (diff)
downloadlinux-stable-e16714d8756dc1237a66994e139b61feebcf707a.tar.gz
linux-stable-e16714d8756dc1237a66994e139b61feebcf707a.tar.bz2
linux-stable-e16714d8756dc1237a66994e139b61feebcf707a.zip
fuse: duplicate ->connected in iqueue
This will allow checking ->connected just with the input queue lock. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Reviewed-by: Ashish Samant <ashish.samant@oracle.com>
Diffstat (limited to 'fs/fuse/inode.c')
-rw-r--r--fs/fuse/inode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 0890428bbad0..caf77d5a6e8d 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -574,6 +574,7 @@ static void fuse_iqueue_init(struct fuse_iqueue *fiq)
INIT_LIST_HEAD(&fiq->pending);
INIT_LIST_HEAD(&fiq->interrupts);
fiq->forget_list_tail = &fiq->forget_list_head;
+ fiq->connected = 1;
}
void fuse_conn_init(struct fuse_conn *fc)
@@ -596,6 +597,7 @@ void fuse_conn_init(struct fuse_conn *fc)
fc->polled_files = RB_ROOT;
fc->blocked = 0;
fc->initialized = 0;
+ fc->connected = 1;
fc->attr_version = 1;
get_random_bytes(&fc->scramble_key, sizeof(fc->scramble_key));
}
@@ -1084,7 +1086,6 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent)
list_add_tail(&fc->entry, &fuse_conn_list);
sb->s_root = root_dentry;
- fc->connected = 1;
file->private_data = fuse_conn_get(fc);
mutex_unlock(&fuse_mutex);
/*