Commit 2d8498db authored by Christoph Hellwig's avatar Christoph Hellwig Committed by J. Bruce Fields

nfsd: start documenting some XDR handling functions

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 6e14b46b
...@@ -190,6 +190,15 @@ static int zero_clientid(clientid_t *clid) ...@@ -190,6 +190,15 @@ static int zero_clientid(clientid_t *clid)
return (clid->cl_boot == 0) && (clid->cl_id == 0); return (clid->cl_boot == 0) && (clid->cl_id == 0);
} }
/**
* defer_free - mark an allocation as deferred freed
* @argp: NFSv4 compound argument structure to be freed with
* @release: release callback to free @p, typically kfree()
* @p: pointer to be freed
*
* Marks @p to be freed when processing the compound operation
* described in @argp finishes.
*/
static int static int
defer_free(struct nfsd4_compoundargs *argp, defer_free(struct nfsd4_compoundargs *argp,
void (*release)(const void *), void *p) void (*release)(const void *), void *p)
...@@ -206,6 +215,16 @@ defer_free(struct nfsd4_compoundargs *argp, ...@@ -206,6 +215,16 @@ defer_free(struct nfsd4_compoundargs *argp,
return 0; return 0;
} }
/**
* savemem - duplicate a chunk of memory for later processing
* @argp: NFSv4 compound argument structure to be freed with
* @p: pointer to be duplicated
* @nbytes: length to be duplicated
*
* Returns a pointer to a copy of @nbytes bytes of memory at @p
* that are preserved until processing of the NFSv4 compound
* operation described by @argp finishes.
*/
static char *savemem(struct nfsd4_compoundargs *argp, __be32 *p, int nbytes) static char *savemem(struct nfsd4_compoundargs *argp, __be32 *p, int nbytes)
{ {
if (p == argp->tmp) { if (p == argp->tmp) {
......
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