Skip to content

Commit d48be1b

Browse files
Don BradyDelphix Engineering
Don Brady
authored and
Delphix Engineering
committed
DLPX-74216 nfs-server restarts fail when order-5 allocations are exhausted (#3)
1 parent 561681c commit d48be1b

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

fs/nfsd/filecache.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -649,8 +649,8 @@ nfsd_file_cache_init(void)
649649
if (!nfsd_filecache_wq)
650650
goto out;
651651

652-
nfsd_file_hashtbl = kcalloc(NFSD_FILE_HASH_SIZE,
653-
sizeof(*nfsd_file_hashtbl), GFP_KERNEL);
652+
nfsd_file_hashtbl = kvzalloc(array_size(NFSD_FILE_HASH_SIZE,
653+
sizeof(*nfsd_file_hashtbl)), GFP_KERNEL);
654654
if (!nfsd_file_hashtbl) {
655655
pr_err("nfsd: unable to allocate nfsd_file_hashtbl\n");
656656
goto out_err;
@@ -716,7 +716,7 @@ nfsd_file_cache_init(void)
716716
nfsd_file_slab = NULL;
717717
kmem_cache_destroy(nfsd_file_mark_slab);
718718
nfsd_file_mark_slab = NULL;
719-
kfree(nfsd_file_hashtbl);
719+
kvfree(nfsd_file_hashtbl);
720720
nfsd_file_hashtbl = NULL;
721721
destroy_workqueue(nfsd_filecache_wq);
722722
nfsd_filecache_wq = NULL;
@@ -864,7 +864,7 @@ nfsd_file_cache_shutdown(void)
864864
fsnotify_wait_marks_destroyed();
865865
kmem_cache_destroy(nfsd_file_mark_slab);
866866
nfsd_file_mark_slab = NULL;
867-
kfree(nfsd_file_hashtbl);
867+
kvfree(nfsd_file_hashtbl);
868868
nfsd_file_hashtbl = NULL;
869869
destroy_workqueue(nfsd_filecache_wq);
870870
nfsd_filecache_wq = NULL;

0 commit comments

Comments
 (0)