summaryrefslogtreecommitdiffstats
path: root/fs/fuse/dev.c
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2015-07-01 16:26:02 +0200
committerMiklos Szeredi <mszeredi@suse.cz>2015-07-01 16:26:02 +0200
commitef759258869c63e8df9b886ebaf9451c4bbe6cea (patch)
treed00cc3364e49f6281afc4fa4f26a5fb988426f96 /fs/fuse/dev.c
parentfuse: abort: group iqueue accesses (diff)
downloadlinux-ef759258869c63e8df9b886ebaf9451c4bbe6cea.tar.xz
linux-ef759258869c63e8df9b886ebaf9451c4bbe6cea.zip
fuse: dev read: split list_move
Different lists will need different locks. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Reviewed-by: Ashish Samant <ashish.samant@oracle.com>
Diffstat (limited to '')
-rw-r--r--fs/fuse/dev.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index deafbdf278c6..a450940df45f 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -1289,7 +1289,8 @@ static ssize_t fuse_dev_do_read(struct fuse_conn *fc, struct file *file,
req = list_entry(fiq->pending.next, struct fuse_req, list);
clear_bit(FR_PENDING, &req->flags);
- list_move(&req->list, &fc->io);
+ list_del_init(&req->list);
+ list_add(&req->list, &fc->io);
in = &req->in;
reqsize = in->h.len;