aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fuse/fuse_i.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-04-14 12:11:34 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-04-14 12:11:34 -0400
commit9a7e9f1c60bada782014b2f422f6c68c4d5388f3 (patch)
tree7e874364f448e050edd6058c50e1e70346b99696 /fs/fuse/fuse_i.h
parent9ca686626c012935b3b8219815e9027facc6fe6e (diff)
parent56cf34ff0795692327234963dcdcc2cdeec2bb3d (diff)
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/mszeredi/fuse
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/mszeredi/fuse: [fuse] Direct I/O should not use fuse_reset_request [fuse] Don't init request twice [fuse] Fix accounting the number of waiting requests [fuse] fix deadlock between fuse_put_super() and request_end()
Diffstat (limited to 'fs/fuse/fuse_i.h')
-rw-r--r--fs/fuse/fuse_i.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h
index 19c7185a7546..59661c481d9d 100644
--- a/fs/fuse/fuse_i.h
+++ b/fs/fuse/fuse_i.h
@@ -159,6 +159,9 @@ struct fuse_req {
159 /** Data is being copied to/from the request */ 159 /** Data is being copied to/from the request */
160 unsigned locked:1; 160 unsigned locked:1;
161 161
162 /** Request is counted as "waiting" */
163 unsigned waiting:1;
164
162 /** State of the request */ 165 /** State of the request */
163 enum fuse_req_state state; 166 enum fuse_req_state state;
164 167
@@ -255,15 +258,9 @@ struct fuse_conn {
255 /** waitq for blocked connection */ 258 /** waitq for blocked connection */
256 wait_queue_head_t blocked_waitq; 259 wait_queue_head_t blocked_waitq;
257 260
258 /** RW semaphore for exclusion with fuse_put_super() */
259 struct rw_semaphore sbput_sem;
260
261 /** The next unique request id */ 261 /** The next unique request id */
262 u64 reqctr; 262 u64 reqctr;
263 263
264 /** Mount is active */
265 unsigned mounted;
266
267 /** Connection established, cleared on umount, connection 264 /** Connection established, cleared on umount, connection
268 abort and device release */ 265 abort and device release */
269 unsigned connected; 266 unsigned connected;
@@ -474,11 +471,11 @@ void request_send_noreply(struct fuse_conn *fc, struct fuse_req *req);
474void request_send_background(struct fuse_conn *fc, struct fuse_req *req); 471void request_send_background(struct fuse_conn *fc, struct fuse_req *req);
475 472
476/** 473/**
477 * Release inodes and file associated with background request 474 * Remove request from the the background list
478 */ 475 */
479void fuse_release_background(struct fuse_conn *fc, struct fuse_req *req); 476void fuse_remove_background(struct fuse_conn *fc, struct fuse_req *req);
480 477
481/* Abort all requests */ 478/** Abort all requests */
482void fuse_abort_conn(struct fuse_conn *fc); 479void fuse_abort_conn(struct fuse_conn *fc);
483 480
484/** 481/**