Messages in this thread Patch in this message | | | From | Martin Kepplinger <> | Subject | [PATCH] fuse: Don't check for file->private_data on open(). It is set by the core. | Date | Wed, 12 Nov 2014 19:56:21 +0100 |
| |
The miscdevice core now sets file->private_data to the struct miscdevice so don't fail when this is not NULL.
Reported-by: Giedrius Statkevicius <giedriuswork@gmail.com> Signed-off-by: Martin Kepplinger <martink@posteo.de> --- sorry, I can't read ;) Is this a fix for your problem (instead of the first patch)?
in case of fuse_ctl_add_conn(fc) failing things should proceed as before.
fs/fuse/inode.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index 03246cd..a97a475 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c @@ -1092,9 +1092,6 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent) } mutex_lock(&fuse_mutex); - err = -EINVAL; - if (file->private_data) - goto err_unlock; err = fuse_ctl_add_conn(fc); if (err) @@ -1117,6 +1114,7 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent) return 0; err_unlock: + file->private_data = NULL; mutex_unlock(&fuse_mutex); err_free_init_req: fuse_request_free(init_req); -- 1.7.10.4
| |