18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * fs/epfs/main.c
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (c) 2022 Huawei Technologies Co., Ltd.
68c2ecf20Sopenharmony_ci * Author: weilongping@huawei.com
78c2ecf20Sopenharmony_ci * Create: 2022-06-10
88c2ecf20Sopenharmony_ci */
98c2ecf20Sopenharmony_ci#include <linux/fs.h>
108c2ecf20Sopenharmony_ci#include <linux/module.h>
118c2ecf20Sopenharmony_ci#include <linux/slab.h>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci#include "internal.h"
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_cistruct kmem_cache *epfs_inode_cachep;
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_cistatic int __init epfs_init(void)
188c2ecf20Sopenharmony_ci{
198c2ecf20Sopenharmony_ci	int ret;
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci	epfs_inode_cachep =
228c2ecf20Sopenharmony_ci		kmem_cache_create("epfs_inode_cache",
238c2ecf20Sopenharmony_ci				  sizeof(struct epfs_inode_info), 0, 0,
248c2ecf20Sopenharmony_ci				  NULL);
258c2ecf20Sopenharmony_ci	if (!epfs_inode_cachep)
268c2ecf20Sopenharmony_ci		return -ENOMEM;
278c2ecf20Sopenharmony_ci	ret = register_filesystem(&epfs_fs_type);
288c2ecf20Sopenharmony_ci	if (ret)
298c2ecf20Sopenharmony_ci		kmem_cache_destroy(epfs_inode_cachep);
308c2ecf20Sopenharmony_ci	return ret;
318c2ecf20Sopenharmony_ci}
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_cistatic void __exit epfs_exit(void)
348c2ecf20Sopenharmony_ci{
358c2ecf20Sopenharmony_ci	unregister_filesystem(&epfs_fs_type);
368c2ecf20Sopenharmony_ci	kmem_cache_destroy(epfs_inode_cachep);
378c2ecf20Sopenharmony_ci}
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_cimodule_init(epfs_init)
408c2ecf20Sopenharmony_cimodule_exit(epfs_exit)
418c2ecf20Sopenharmony_ciMODULE_DESCRIPTION("Enhanced Proxy File System for OpenHarmony");
428c2ecf20Sopenharmony_ciMODULE_AUTHOR("LongPing Wei weilongping@huawei.com");
438c2ecf20Sopenharmony_ciMODULE_LICENSE("GPL v2");
448c2ecf20Sopenharmony_ciMODULE_ALIAS_FS("epfs");
45