projects
/
bluesky.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Properly decrement inode refcounts when finishing a request.
[bluesky.git]
/
nfs3
/
nfs3_prot.h
diff --git
a/nfs3/nfs3_prot.h
b/nfs3/nfs3_prot.h
index
6a3e316
..
01ed7b5
100644
(file)
--- a/
nfs3/nfs3_prot.h
+++ b/
nfs3/nfs3_prot.h
@@
-655,6
+655,13
@@
typedef struct {
int frag_hdr_bytes;
} RPCConnection;
int frag_hdr_bytes;
} RPCConnection;
+/* Linked list of cleanup functions to call when a request is completed. */
+struct cleanup_list {
+ void (*func)(void *arg);
+ void *arg;
+ struct cleanup_list *next;
+};
+
/* Used to track a single outstanding RPC request. Not all of the fields are
* initially filled in, but more are filled in as the request is processed. */
typedef struct {
/* Used to track a single outstanding RPC request. Not all of the fields are
* initially filled in, but more are filled in as the request is processed. */
typedef struct {
@@
-684,6
+691,10
@@
typedef struct {
/* Procedure to be used for encoding the eventual return value into XDR. */
xdrproc_t xdr_result;
/* Procedure to be used for encoding the eventual return value into XDR. */
xdrproc_t xdr_result;
+
+ /* Functions to be called when the response is sent to clean up any
+ * resources. */
+ struct cleanup_list *cleanup;
} RPCRequest;
extern void async_rpc_send_reply(RPCRequest *req, void *result);
} RPCRequest;
extern void async_rpc_send_reply(RPCRequest *req, void *result);