1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 3 * fs/sharefs/dentry.c 4 * 5 * Copyright (c) 1998-2022 Erez Zadok 6 * Copyright (c) 2009 Shrikar Archak 7 * Copyright (c) 2003-2022 Stony Brook University 8 * Copyright (c) 2003-2022 The Research Foundation of SUNY 9 * Copyright (c) 2023 Huawei Device Co., Ltd. 10 */ 11 12 #include "sharefs.h" 13 14 /* 15 * returns: 0: tell VFS to invalidate dentry in share directory 16 */ sharefs_d_revalidate(struct dentry * dentry,unsigned int flags)17static int sharefs_d_revalidate(struct dentry *dentry, unsigned int flags) 18 { 19 return 0; 20 } 21 sharefs_d_release(struct dentry * dentry)22static void sharefs_d_release(struct dentry *dentry) 23 { 24 /* 25 * It is possible that the dentry private data is NULL in case we 26 * ran out of memory while initializing it in 27 * new_dentry_private_data. So check for NULL before attempting to 28 * release resources. 29 */ 30 if (SHAREFS_D(dentry)) { 31 /* release and reset the lower paths */ 32 sharefs_put_reset_lower_path(dentry); 33 free_dentry_private_data(dentry); 34 } 35 return; 36 } 37 38 const struct dentry_operations sharefs_dops = { 39 .d_revalidate = sharefs_d_revalidate, 40 .d_release = sharefs_d_release, 41 }; 42