diff options
Diffstat (limited to 'fs/fuse/dev.c')
-rw-r--r-- | fs/fuse/dev.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index af639807524e..bba83762c484 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c | |||
@@ -47,6 +47,14 @@ struct fuse_req *fuse_request_alloc(void) | |||
47 | return req; | 47 | return req; |
48 | } | 48 | } |
49 | 49 | ||
50 | struct fuse_req *fuse_request_alloc_nofs(void) | ||
51 | { | ||
52 | struct fuse_req *req = kmem_cache_alloc(fuse_req_cachep, GFP_NOFS); | ||
53 | if (req) | ||
54 | fuse_request_init(req); | ||
55 | return req; | ||
56 | } | ||
57 | |||
50 | void fuse_request_free(struct fuse_req *req) | 58 | void fuse_request_free(struct fuse_req *req) |
51 | { | 59 | { |
52 | kmem_cache_free(fuse_req_cachep, req); | 60 | kmem_cache_free(fuse_req_cachep, req); |
@@ -430,6 +438,17 @@ void request_send_background(struct fuse_conn *fc, struct fuse_req *req) | |||
430 | } | 438 | } |
431 | 439 | ||
432 | /* | 440 | /* |
441 | * Called under fc->lock | ||
442 | * | ||
443 | * fc->connected must have been checked previously | ||
444 | */ | ||
445 | void request_send_background_locked(struct fuse_conn *fc, struct fuse_req *req) | ||
446 | { | ||
447 | req->isreply = 1; | ||
448 | request_send_nowait_locked(fc, req); | ||
449 | } | ||
450 | |||
451 | /* | ||
433 | * Lock the request. Up to the next unlock_request() there mustn't be | 452 | * Lock the request. Up to the next unlock_request() there mustn't be |
434 | * anything that could cause a page-fault. If the request was already | 453 | * anything that could cause a page-fault. If the request was already |
435 | * aborted bail out. | 454 | * aborted bail out. |