162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * fs/sharefs/dentry.c
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 1998-2022 Erez Zadok
662306a36Sopenharmony_ci * Copyright (c) 2009	   Shrikar Archak
762306a36Sopenharmony_ci * Copyright (c) 2003-2022 Stony Brook University
862306a36Sopenharmony_ci * Copyright (c) 2003-2022 The Research Foundation of SUNY
962306a36Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
1062306a36Sopenharmony_ci */
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#include "sharefs.h"
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci/*
1562306a36Sopenharmony_ci * returns: 0: tell VFS to invalidate dentry in share directory
1662306a36Sopenharmony_ci */
1762306a36Sopenharmony_cistatic int sharefs_d_revalidate(struct dentry *dentry, unsigned int flags)
1862306a36Sopenharmony_ci{
1962306a36Sopenharmony_ci	return 0;
2062306a36Sopenharmony_ci}
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_cistatic void sharefs_d_release(struct dentry *dentry)
2362306a36Sopenharmony_ci{
2462306a36Sopenharmony_ci	/*
2562306a36Sopenharmony_ci	 * It is possible that the dentry private data is NULL in case we
2662306a36Sopenharmony_ci	 * ran out of memory while initializing it in
2762306a36Sopenharmony_ci	 * new_dentry_private_data.  So check for NULL before attempting to
2862306a36Sopenharmony_ci	 * release resources.
2962306a36Sopenharmony_ci	 */
3062306a36Sopenharmony_ci	if (SHAREFS_D(dentry)) {
3162306a36Sopenharmony_ci		/* release and reset the lower paths */
3262306a36Sopenharmony_ci		sharefs_put_reset_lower_path(dentry);
3362306a36Sopenharmony_ci		free_dentry_private_data(dentry);
3462306a36Sopenharmony_ci	}
3562306a36Sopenharmony_ci	return;
3662306a36Sopenharmony_ci}
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciconst struct dentry_operations sharefs_dops = {
3962306a36Sopenharmony_ci	.d_revalidate	= sharefs_d_revalidate,
4062306a36Sopenharmony_ci	.d_release	= sharefs_d_release,
4162306a36Sopenharmony_ci};
42