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 ---