filecache.c (34d6f206a88c2651d216bd3487ac956a40b2ba8e) | filecache.c (4ab072325c621e0e4fadff991c7a00379a16a037) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * The NFSD open file cache. 4 * 5 * (c) 2015 - Jeff Layton <jeff.layton@primarydata.com> 6 * 7 * An nfsd_file object is a per-file collection of open state that binds 8 * together: --- 704 unchanged lines hidden (view full) --- 713 int ret; 714 715 lockdep_assert_held(&nfsd_mutex); 716 if (test_and_set_bit(NFSD_FILE_CACHE_UP, &nfsd_file_flags) == 1) 717 return 0; 718 719 ret = rhltable_init(&nfsd_file_rhltable, &nfsd_file_rhash_params); 720 if (ret) | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * The NFSD open file cache. 4 * 5 * (c) 2015 - Jeff Layton <jeff.layton@primarydata.com> 6 * 7 * An nfsd_file object is a per-file collection of open state that binds 8 * together: --- 704 unchanged lines hidden (view full) --- 713 int ret; 714 715 lockdep_assert_held(&nfsd_mutex); 716 if (test_and_set_bit(NFSD_FILE_CACHE_UP, &nfsd_file_flags) == 1) 717 return 0; 718 719 ret = rhltable_init(&nfsd_file_rhltable, &nfsd_file_rhash_params); 720 if (ret) |
721 return ret; | 721 goto out; |
722 723 ret = -ENOMEM; 724 nfsd_filecache_wq = alloc_workqueue("nfsd_filecache", 0, 0); 725 if (!nfsd_filecache_wq) 726 goto out; 727 728 nfsd_file_slab = kmem_cache_create("nfsd_file", 729 sizeof(struct nfsd_file), 0, 0, NULL); --- 35 unchanged lines hidden (view full) --- 765 PTR_ERR(nfsd_file_fsnotify_group)); 766 ret = PTR_ERR(nfsd_file_fsnotify_group); 767 nfsd_file_fsnotify_group = NULL; 768 goto out_notifier; 769 } 770 771 INIT_DELAYED_WORK(&nfsd_filecache_laundrette, nfsd_file_gc_worker); 772out: | 722 723 ret = -ENOMEM; 724 nfsd_filecache_wq = alloc_workqueue("nfsd_filecache", 0, 0); 725 if (!nfsd_filecache_wq) 726 goto out; 727 728 nfsd_file_slab = kmem_cache_create("nfsd_file", 729 sizeof(struct nfsd_file), 0, 0, NULL); --- 35 unchanged lines hidden (view full) --- 765 PTR_ERR(nfsd_file_fsnotify_group)); 766 ret = PTR_ERR(nfsd_file_fsnotify_group); 767 nfsd_file_fsnotify_group = NULL; 768 goto out_notifier; 769 } 770 771 INIT_DELAYED_WORK(&nfsd_filecache_laundrette, nfsd_file_gc_worker); 772out: |
773 if (ret) 774 clear_bit(NFSD_FILE_CACHE_UP, &nfsd_file_flags); |
|
773 return ret; 774out_notifier: 775 lease_unregister_notifier(&nfsd_file_lease_notifier); 776out_shrinker: 777 unregister_shrinker(&nfsd_file_shrinker); 778out_lru: 779 list_lru_destroy(&nfsd_file_lru); 780out_err: --- 468 unchanged lines hidden --- | 775 return ret; 776out_notifier: 777 lease_unregister_notifier(&nfsd_file_lease_notifier); 778out_shrinker: 779 unregister_shrinker(&nfsd_file_shrinker); 780out_lru: 781 list_lru_destroy(&nfsd_file_lru); 782out_err: --- 468 unchanged lines hidden --- |