summaryrefslogtreecommitdiffstats
path: root/fs/fuse/inode.c
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2015-07-01 16:25:58 +0200
committerMiklos Szeredi <mszeredi@suse.cz>2015-07-01 16:25:58 +0200
commit825d6d3395e88a616e4c953984d77eeacbad4310 (patch)
tree1a8644c118994d7d7a743665cb657fd21a450443 /fs/fuse/inode.c
parent0d8e84b0432beb6d11a1c82deeb9dc1a7bee02c0 (diff)
downloadlinux-825d6d3395e88a616e4c953984d77eeacbad4310.tar.gz
linux-825d6d3395e88a616e4c953984d77eeacbad4310.tar.bz2
linux-825d6d3395e88a616e4c953984d77eeacbad4310.zip
fuse: req use bitops
Finer grained locking will mean there's no single lock to protect modification of bitfileds in fuse_req. So move to using bitops. Can use the non-atomic variants for those which happen while the request definitely has only one reference. 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.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index cec8abbe2c8c..f7c9b7225ec5 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -362,8 +362,8 @@ static void fuse_send_destroy(struct fuse_conn *fc)
if (req && fc->conn_init) {
fc->destroy_req = NULL;
req->in.h.opcode = FUSE_DESTROY;
- req->force = 1;
- req->background = 0;
+ __set_bit(FR_FORCE, &req->flags);
+ __clear_bit(FR_BACKGROUND, &req->flags);
fuse_request_send(fc, req);
fuse_put_request(fc, req);
}
@@ -1060,7 +1060,7 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent)
init_req = fuse_request_alloc(0);
if (!init_req)
goto err_put_root;
- init_req->background = 1;
+ __set_bit(FR_BACKGROUND, &init_req->flags);
if (is_bdev) {
fc->destroy_req = fuse_request_alloc(0);