diff options
author | Rik van Riel <riel@surriel.com> | 2020-09-14 13:07:19 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2020-09-25 18:01:28 -0400 |
commit | 8c38b705b4f4ca4e7f9cc116141bc38391917c30 (patch) | |
tree | 98d337146b6942caf2df5f30c243f7a206ce8dfa /fs/nfsd | |
parent | 44b49aa65f8603ad274c448310b5ff95a78d394c (diff) | |
download | linux-8c38b705b4f4ca4e7f9cc116141bc38391917c30.tar.gz linux-8c38b705b4f4ca4e7f9cc116141bc38391917c30.tar.bz2 linux-8c38b705b4f4ca4e7f9cc116141bc38391917c30.zip |
silence nfscache allocation warnings with kvzalloc
silence nfscache allocation warnings with kvzalloc
Currently nfsd_reply_cache_init attempts hash table allocation through
kmalloc, and manually falls back to vzalloc if that fails. This makes
the code a little larger than needed, and creates a significant amount
of serial console spam if you have enough systems.
Switching to kvzalloc gets rid of the allocation warnings, and makes
the code a little cleaner too as a side effect.
Freeing of nn->drc_hashtbl is already done using kvfree currently.
Signed-off-by: Rik van Riel <riel@surriel.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r-- | fs/nfsd/nfscache.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/nfsd/nfscache.c b/fs/nfsd/nfscache.c index 0a0cf1fd77d3..80c90fc231a5 100644 --- a/fs/nfsd/nfscache.c +++ b/fs/nfsd/nfscache.c @@ -172,14 +172,10 @@ int nfsd_reply_cache_init(struct nfsd_net *nn) if (status) goto out_nomem; - nn->drc_hashtbl = kcalloc(hashsize, - sizeof(*nn->drc_hashtbl), GFP_KERNEL); - if (!nn->drc_hashtbl) { - nn->drc_hashtbl = vzalloc(array_size(hashsize, - sizeof(*nn->drc_hashtbl))); - if (!nn->drc_hashtbl) - goto out_shrinker; - } + nn->drc_hashtbl = kvzalloc(array_size(hashsize, + sizeof(*nn->drc_hashtbl)), GFP_KERNEL); + if (!nn->drc_hashtbl) + goto out_shrinker; for (i = 0; i < hashsize; i++) { INIT_LIST_HEAD(&nn->drc_hashtbl[i].lru_head); |