fuse: request_end(): do once
authorMiklos Szeredi <mszeredi@suse.cz>
Wed, 1 Jul 2015 14:26:06 +0000 (16:26 +0200)
committerMiklos Szeredi <mszeredi@suse.cz>
Wed, 1 Jul 2015 14:26:06 +0000 (16:26 +0200)
commit365ae710df91edc97d24817e3271e01bffaaee32
tree3e535e7168b57fc310119e29947d2281ed60f484
parent77cd9d488b32d19be852ad4d310ef13701557d61
fuse: request_end(): do once

When the connection is aborted it is possible that request_end() will be
called twice.  Use atomic test and set to do the actual ending only once.

test_and_set_bit() also provides the necessary barrier semantics so no
explicit smp_wmb() is necessary.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Reviewed-by: Ashish Samant <ashish.samant@oracle.com>
fs/fuse/dev.c