Commit 66abc359 authored by Miklos Szeredi's avatar Miklos Szeredi

fuse: unexport request ops

All requests are now sent with one of the fuse_simple_... helpers.  Get rid
of the old api from the fuse internal header.
Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
parent 75b399dd
...@@ -79,16 +79,10 @@ static struct fuse_req *__fuse_request_alloc(unsigned npages, gfp_t flags) ...@@ -79,16 +79,10 @@ static struct fuse_req *__fuse_request_alloc(unsigned npages, gfp_t flags)
return req; return req;
} }
struct fuse_req *fuse_request_alloc(unsigned npages) static struct fuse_req *fuse_request_alloc(unsigned int npages)
{ {
return __fuse_request_alloc(npages, GFP_KERNEL); return __fuse_request_alloc(npages, GFP_KERNEL);
} }
EXPORT_SYMBOL_GPL(fuse_request_alloc);
struct fuse_req *fuse_request_alloc_nofs(unsigned npages)
{
return __fuse_request_alloc(npages, GFP_NOFS);
}
static void fuse_req_pages_free(struct fuse_req *req) static void fuse_req_pages_free(struct fuse_req *req)
{ {
...@@ -96,13 +90,13 @@ static void fuse_req_pages_free(struct fuse_req *req) ...@@ -96,13 +90,13 @@ static void fuse_req_pages_free(struct fuse_req *req)
kfree(req->pages); kfree(req->pages);
} }
void fuse_request_free(struct fuse_req *req) static void fuse_request_free(struct fuse_req *req)
{ {
fuse_req_pages_free(req); fuse_req_pages_free(req);
kmem_cache_free(fuse_req_cachep, req); kmem_cache_free(fuse_req_cachep, req);
} }
void __fuse_get_request(struct fuse_req *req) static void __fuse_get_request(struct fuse_req *req)
{ {
refcount_inc(&req->count); refcount_inc(&req->count);
} }
...@@ -139,6 +133,8 @@ static void fuse_drop_waiting(struct fuse_conn *fc) ...@@ -139,6 +133,8 @@ static void fuse_drop_waiting(struct fuse_conn *fc)
} }
} }
static void fuse_put_request(struct fuse_conn *fc, struct fuse_req *req);
static struct fuse_req *__fuse_get_req(struct fuse_conn *fc, unsigned npages, static struct fuse_req *__fuse_get_req(struct fuse_conn *fc, unsigned npages,
bool for_background) bool for_background)
{ {
...@@ -191,20 +187,12 @@ static struct fuse_req *__fuse_get_req(struct fuse_conn *fc, unsigned npages, ...@@ -191,20 +187,12 @@ static struct fuse_req *__fuse_get_req(struct fuse_conn *fc, unsigned npages,
return ERR_PTR(err); return ERR_PTR(err);
} }
struct fuse_req *fuse_get_req(struct fuse_conn *fc, unsigned npages) static struct fuse_req *fuse_get_req(struct fuse_conn *fc, unsigned int npages)
{ {
return __fuse_get_req(fc, npages, false); return __fuse_get_req(fc, npages, false);
} }
EXPORT_SYMBOL_GPL(fuse_get_req);
struct fuse_req *fuse_get_req_for_background(struct fuse_conn *fc, static void fuse_put_request(struct fuse_conn *fc, struct fuse_req *req)
unsigned npages)
{
return __fuse_get_req(fc, npages, true);
}
EXPORT_SYMBOL_GPL(fuse_get_req_for_background);
void fuse_put_request(struct fuse_conn *fc, struct fuse_req *req)
{ {
if (refcount_dec_and_test(&req->count)) { if (refcount_dec_and_test(&req->count)) {
if (test_bit(FR_BACKGROUND, &req->flags)) { if (test_bit(FR_BACKGROUND, &req->flags)) {
...@@ -455,17 +443,6 @@ static void __fuse_request_send(struct fuse_conn *fc, struct fuse_req *req) ...@@ -455,17 +443,6 @@ static void __fuse_request_send(struct fuse_conn *fc, struct fuse_req *req)
} }
} }
void fuse_request_send(struct fuse_conn *fc, struct fuse_req *req)
{
__set_bit(FR_ISREPLY, &req->flags);
if (!test_bit(FR_WAITING, &req->flags)) {
__set_bit(FR_WAITING, &req->flags);
atomic_inc(&fc->num_waiting);
}
__fuse_request_send(fc, req);
}
EXPORT_SYMBOL_GPL(fuse_request_send);
static void fuse_adjust_compat(struct fuse_conn *fc, struct fuse_args *args) static void fuse_adjust_compat(struct fuse_conn *fc, struct fuse_args *args)
{ {
if (fc->minor < 4 && args->opcode == FUSE_STATFS) if (fc->minor < 4 && args->opcode == FUSE_STATFS)
...@@ -571,7 +548,8 @@ ssize_t fuse_simple_request(struct fuse_conn *fc, struct fuse_args *args) ...@@ -571,7 +548,8 @@ ssize_t fuse_simple_request(struct fuse_conn *fc, struct fuse_args *args)
return ret; return ret;
} }
bool fuse_request_queue_background(struct fuse_conn *fc, struct fuse_req *req) static bool fuse_request_queue_background(struct fuse_conn *fc,
struct fuse_req *req)
{ {
bool queued = false; bool queued = false;
...@@ -644,17 +622,6 @@ int fuse_simple_background(struct fuse_conn *fc, struct fuse_args *args, ...@@ -644,17 +622,6 @@ int fuse_simple_background(struct fuse_conn *fc, struct fuse_args *args,
} }
EXPORT_SYMBOL_GPL(fuse_simple_background); EXPORT_SYMBOL_GPL(fuse_simple_background);
void fuse_request_send_background(struct fuse_conn *fc, struct fuse_req *req)
{
WARN_ON(!req->end);
if (!fuse_request_queue_background(fc, req)) {
req->out.h.error = -ENOTCONN;
req->end(fc, req);
fuse_put_request(fc, req);
}
}
EXPORT_SYMBOL_GPL(fuse_request_send_background);
static int fuse_simple_notify_reply(struct fuse_conn *fc, static int fuse_simple_notify_reply(struct fuse_conn *fc,
struct fuse_args *args, u64 unique) struct fuse_args *args, u64 unique)
{ {
......
...@@ -924,42 +924,9 @@ void __exit fuse_ctl_cleanup(void); ...@@ -924,42 +924,9 @@ void __exit fuse_ctl_cleanup(void);
/** /**
* Allocate a request * Allocate a request
*/ */
struct fuse_req *fuse_request_alloc(unsigned npages);
struct fuse_req *fuse_request_alloc_nofs(unsigned npages);
struct page **fuse_pages_alloc(unsigned int npages, gfp_t flags, struct page **fuse_pages_alloc(unsigned int npages, gfp_t flags,
struct fuse_page_desc **desc); struct fuse_page_desc **desc);
/**
* Free a request
*/
void fuse_request_free(struct fuse_req *req);
/**
* Get a request, may fail with -ENOMEM,
* caller should specify # elements in req->pages[] explicitly
*/
struct fuse_req *fuse_get_req(struct fuse_conn *fc, unsigned npages);
struct fuse_req *fuse_get_req_for_background(struct fuse_conn *fc,
unsigned npages);
/*
* Increment reference count on request
*/
void __fuse_get_request(struct fuse_req *req);
/**
* Decrement reference count of a request. If count goes to zero free
* the request.
*/
void fuse_put_request(struct fuse_conn *fc, struct fuse_req *req);
/**
* Send a request (synchronous)
*/
void fuse_request_send(struct fuse_conn *fc, struct fuse_req *req);
/** /**
* Simple request sending that does request allocation and freeing * Simple request sending that does request allocation and freeing
*/ */
...@@ -967,12 +934,6 @@ ssize_t fuse_simple_request(struct fuse_conn *fc, struct fuse_args *args); ...@@ -967,12 +934,6 @@ ssize_t fuse_simple_request(struct fuse_conn *fc, struct fuse_args *args);
int fuse_simple_background(struct fuse_conn *fc, struct fuse_args *args, int fuse_simple_background(struct fuse_conn *fc, struct fuse_args *args,
gfp_t gfp_flags); gfp_t gfp_flags);
/**
* Send a request in the background
*/
void fuse_request_send_background(struct fuse_conn *fc, struct fuse_req *req);
bool fuse_request_queue_background(struct fuse_conn *fc, struct fuse_req *req);
/* Abort all requests */ /* Abort all requests */
void fuse_abort_conn(struct fuse_conn *fc); void fuse_abort_conn(struct fuse_conn *fc);
void fuse_wait_aborted(struct fuse_conn *fc); void fuse_wait_aborted(struct fuse_conn *fc);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment