Miklos,
When posting the patches for file_user_path(), I wrote [1]:
"This change already makes file_dentry() moot, but for now we did not
change this helper just added a WARN_ON() in ovl_d_real() to catch if we
have made any wrong assumptions.
After the dust settles on this change, we can make file_dentry() a plain
accessor and we can drop the inode argument to ->d_real()."
I was going to follow your suggestion and make this change to ->d_real(),
but a recent discussion on EVM signature verification on overlay files [2]
raised the need to get the real metacopy inode instead of the real data
inode.
So instead of removing the inode argument, I replaced it with a type.
Currently, type can take D_REAL_{DATA,METADATA}, but in the future,
if the need arises, it could grow other types like D_REAL_{UPPER,LOWER}.
Please let me know what you think of the proposed API.
This work is destined to be a pull request to Christian's vfs tree,
unless someone has any objections to this route.
Thanks,
Amir.
[1] https://lore.kernel.org/r/[email protected]/
[2] https://lore.kernel.org/r/[email protected]/
Amir Goldstein (2):
fs: make file_dentry() a simple accessor
fs: remove the inode argument to ->d_real() method
Documentation/filesystems/locking.rst | 2 +-
Documentation/filesystems/vfs.rst | 16 ++++-----
fs/overlayfs/super.c | 52 ++++++++++++---------------
include/linux/dcache.h | 18 ++++++----
include/linux/fs.h | 13 ++++++-
5 files changed, 53 insertions(+), 48 deletions(-)
--
2.34.1