aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs4xdr.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2014-06-24 16:51:12 -0400
committerJ. Bruce Fields <bfields@redhat.com>2014-07-08 17:14:25 -0400
commitce043ac826f3ad224142f84d860316a5fd05f79c (patch)
treef8e05919cde31ec787c3722bcff58715c518f5ad /fs/nfsd/nfs4xdr.c
parent7fb84306f55d6cc32ea894d47cbb2faa18c8f45b (diff)
nfsd4: remove unused defer_free argument
28e05dd8457c "knfsd: nfsd4: represent nfsv4 acl with array instead of linked list" removed the last user that wanted a custom free function. Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/nfs4xdr.c')
-rw-r--r--fs/nfsd/nfs4xdr.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
index 3d0749633d2b..13f91cec25c3 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -182,16 +182,14 @@ static int zero_clientid(clientid_t *clid)
182 182
183/** 183/**
184 * defer_free - mark an allocation as deferred freed 184 * defer_free - mark an allocation as deferred freed
185 * @argp: NFSv4 compound argument structure to be freed with 185 * @argp: NFSv4 compound argument structure
186 * @release: release callback to free @p, typically kfree() 186 * @p: pointer to be freed (with kfree())
187 * @p: pointer to be freed
188 * 187 *
189 * Marks @p to be freed when processing the compound operation 188 * Marks @p to be freed when processing the compound operation
190 * described in @argp finishes. 189 * described in @argp finishes.
191 */ 190 */
192static int 191static int
193defer_free(struct nfsd4_compoundargs *argp, 192defer_free(struct nfsd4_compoundargs *argp, void *p)
194 void (*release)(const void *), void *p)
195{ 193{
196 struct tmpbuf *tb; 194 struct tmpbuf *tb;
197 195
@@ -199,7 +197,6 @@ defer_free(struct nfsd4_compoundargs *argp,
199 if (!tb) 197 if (!tb)
200 return -ENOMEM; 198 return -ENOMEM;
201 tb->buf = p; 199 tb->buf = p;
202 tb->release = release;
203 tb->next = argp->to_free; 200 tb->next = argp->to_free;
204 argp->to_free = tb; 201 argp->to_free = tb;
205 return 0; 202 return 0;
@@ -225,7 +222,7 @@ static char *savemem(struct nfsd4_compoundargs *argp, __be32 *p, int nbytes)
225 BUG_ON(p != argp->tmpp); 222 BUG_ON(p != argp->tmpp);
226 argp->tmpp = NULL; 223 argp->tmpp = NULL;
227 } 224 }
228 if (defer_free(argp, kfree, p)) { 225 if (defer_free(argp, p)) {
229 kfree(p); 226 kfree(p);
230 return NULL; 227 return NULL;
231 } else 228 } else
@@ -296,7 +293,7 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval,
296 if (*acl == NULL) 293 if (*acl == NULL)
297 return nfserr_jukebox; 294 return nfserr_jukebox;
298 295
299 defer_free(argp, kfree, *acl); 296 defer_free(argp, *acl);
300 297
301 (*acl)->naces = nace; 298 (*acl)->naces = nace;
302 for (ace = (*acl)->aces; ace < (*acl)->aces + nace; ace++) { 299 for (ace = (*acl)->aces; ace < (*acl)->aces + nace; ace++) {
@@ -422,7 +419,7 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval,
422 if (!label->data) 419 if (!label->data)
423 return nfserr_jukebox; 420 return nfserr_jukebox;
424 label->len = dummy32; 421 label->len = dummy32;
425 defer_free(argp, kfree, label->data); 422 defer_free(argp, label->data);
426 memcpy(label->data, buf, dummy32); 423 memcpy(label->data, buf, dummy32);
427 } 424 }
428#endif 425#endif
@@ -610,7 +607,7 @@ nfsd4_decode_create(struct nfsd4_compoundargs *argp, struct nfsd4_create *create
610 return nfserr_jukebox; 607 return nfserr_jukebox;
611 memcpy(create->cr_data, p, create->cr_datalen); 608 memcpy(create->cr_data, p, create->cr_datalen);
612 create->cr_data[create->cr_datalen] = '\0'; 609 create->cr_data[create->cr_datalen] = '\0';
613 defer_free(argp, kfree, create->cr_data); 610 defer_free(argp, create->cr_data);
614 break; 611 break;
615 case NF4BLK: 612 case NF4BLK:
616 case NF4CHR: 613 case NF4CHR:
@@ -1486,7 +1483,7 @@ nfsd4_decode_test_stateid(struct nfsd4_compoundargs *argp, struct nfsd4_test_sta
1486 goto out; 1483 goto out;
1487 } 1484 }
1488 1485
1489 defer_free(argp, kfree, stateid); 1486 defer_free(argp, stateid);
1490 INIT_LIST_HEAD(&stateid->ts_id_list); 1487 INIT_LIST_HEAD(&stateid->ts_id_list);
1491 list_add_tail(&stateid->ts_id_list, &test_stateid->ts_stateid_list); 1488 list_add_tail(&stateid->ts_id_list, &test_stateid->ts_stateid_list);
1492 1489
@@ -3972,7 +3969,7 @@ int nfsd4_release_compoundargs(void *rq, __be32 *p, void *resp)
3972 while (args->to_free) { 3969 while (args->to_free) {
3973 struct tmpbuf *tb = args->to_free; 3970 struct tmpbuf *tb = args->to_free;
3974 args->to_free = tb->next; 3971 args->to_free = tb->next;
3975 tb->release(tb->buf); 3972 kfree(tb->buf);
3976 kfree(tb); 3973 kfree(tb);
3977 } 3974 }
3978 return 1; 3975 return 1;