aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fuse/fuse_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/fuse/fuse_i.h')
-rw-r--r--fs/fuse/fuse_i.h24
1 files changed, 6 insertions, 18 deletions
diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h
index e5cb46b78437..6ed812fd6200 100644
--- a/fs/fuse/fuse_i.h
+++ b/fs/fuse/fuse_i.h
@@ -1,6 +1,6 @@
1/* 1/*
2 FUSE: Filesystem in Userspace 2 FUSE: Filesystem in Userspace
3 Copyright (C) 2001-2005 Miklos Szeredi <miklos@szeredi.hu> 3 Copyright (C) 2001-2006 Miklos Szeredi <miklos@szeredi.hu>
4 4
5 This program can be distributed under the terms of the GNU GPL. 5 This program can be distributed under the terms of the GNU GPL.
6 See the file COPYING. 6 See the file COPYING.
@@ -144,7 +144,7 @@ struct fuse_req {
144 /* 144 /*
145 * The following bitfields are either set once before the 145 * The following bitfields are either set once before the
146 * request is queued or setting/clearing them is protected by 146 * request is queued or setting/clearing them is protected by
147 * fuse_lock 147 * fuse_conn->lock
148 */ 148 */
149 149
150 /** True if the request has reply */ 150 /** True if the request has reply */
@@ -213,6 +213,9 @@ struct fuse_req {
213 * unmounted. 213 * unmounted.
214 */ 214 */
215struct fuse_conn { 215struct fuse_conn {
216 /** Lock protecting accessess to members of this structure */
217 spinlock_t lock;
218
216 /** The user id for this mount */ 219 /** The user id for this mount */
217 uid_t user_id; 220 uid_t user_id;
218 221
@@ -352,21 +355,6 @@ static inline u64 get_node_id(struct inode *inode)
352extern const struct file_operations fuse_dev_operations; 355extern const struct file_operations fuse_dev_operations;
353 356
354/** 357/**
355 * This is the single global spinlock which protects FUSE's structures
356 *
357 * The following data is protected by this lock:
358 *
359 * - the private_data field of the device file
360 * - the s_fs_info field of the super block
361 * - unused_list, pending, processing lists in fuse_conn
362 * - background list in fuse_conn
363 * - the unique request ID counter reqctr in fuse_conn
364 * - the sb (super_block) field in fuse_conn
365 * - the file (device file) field in fuse_conn
366 */
367extern spinlock_t fuse_lock;
368
369/**
370 * Get a filled in inode 358 * Get a filled in inode
371 */ 359 */
372struct inode *fuse_iget(struct super_block *sb, unsigned long nodeid, 360struct inode *fuse_iget(struct super_block *sb, unsigned long nodeid,
@@ -490,7 +478,7 @@ void request_send_background(struct fuse_conn *fc, struct fuse_req *req);
490/** 478/**
491 * Release inodes and file associated with background request 479 * Release inodes and file associated with background request
492 */ 480 */
493void fuse_release_background(struct fuse_req *req); 481void fuse_release_background(struct fuse_conn *fc, struct fuse_req *req);
494 482
495/* Abort all requests */ 483/* Abort all requests */
496void fuse_abort_conn(struct fuse_conn *fc); 484void fuse_abort_conn(struct fuse_conn *fc);